рефлексию стараюсь опять же избегать. В частности я считаю, что если бы из джаваспеки убрать рефлексию, ее можно было бы нормально компилить, а не тащить в рантайм слои абстракции из кода.
и собственно именно опыт чтения сложного кода и приводит к тому, что когда я пишу код, я стараюсь его сделать максимально простым и прозрачным. Как только он переваливает какой-то уровень сложности, я начинаю его разбивать на более простые компоненты.
ну вот и получается, что в том коде, который я пишу, такие вещи почему-то не нужны. Потому что я предпочитаю чтобы код был очень локальным, а не бегать по всему проекту и искать, как же именно реализована эта конкретная перегрузка.