Здравствуйте, __kot2, Вы писали:
__>когда мы не хотим модифицировать исходный класс у нас всегда есть минимум два варианта получить нужное — делегировать к нему или наследоваться от него
Наследоваться не получится, т.к. не мы создаём его экземпляры. Делегировать хоть обделегируйся, но рано или поздно мы всё равно придём к тому же самому switch.
Если нам не помогут, то мы тоже никого не пощадим.