Если вы копируете код вставки, вы делаете это неправильно;)
Как насчет создания базового абстрактного класса, который имеет метод foo и абстрактный метод doTheSomething.Затем вы расширяете его с помощью A, B и C и реализуете только абстрактный метод doSomething.
В этом случае вашему коду просто нужно выяснить строковый переключатель (это был бы действительно простой переключатель в Java7, кстати),получить правильный класс и запустить foo, который, в свою очередь, запустит перегруженный абстрактный метод doSomething.
Извините, что это такая общая идея, но вы не даете много подробностей о том, ваши действия для AB иC похожи или принадлежат к одному и тому же объекту и т. Д. Так что возьмите это за возможность и проверьте, подходит ли он вашему случаю удаленно!;)