TestNG. Запуск тестов из пакета по тегам/группам

Добрый день!
Есть необходимость запускать тесты из нескольких тестовых классов(указывая пакет) по тегам.
Смотрела на использование групп. Но есть проблема.
Подтягиваются все методы с аннотациями @Before* и @After* и запускаются там где не нужно. При этом могут быть падения, тк например разные тестовые классы наследуются от специфических TestBase.
Изменить логику в тех самых базовых классах нет возможности.

Подскажите, кто уже сталкивался с такой задачей, как можно решить это? Слышала, что можно свой кастомный листнер сделать. Но не нашла какой-то полезной информации на этот счет

У себя делал так: в методе onTestStart() (оверрайд метода из ITestListener) получаю имя сьюта -
result.getTestContext().getCurrentXmlTest().getName(), далее выбираю тип прекондишена.
В testng.xml тесты распределены по сьютам, могут быть запущены в нескольких сьютах, но с разными прекондишенами.
Кроме того, использую @BeforeGroups({“Group1”, “Group2”}), там реализованы специфичные настройки уже для конкретных групп.

Через использование листнера пока ничего не вышло к сожалению. В случае если тестовые классы наследуются от разных, то валятся ошибки.
Буду очень благодарна, если приведете кусочек кода с примером. Возможно, я не так поняла в какую сторону мне копать