Теоретическая общность.
Класс, метод, поле или параметр не используются.
##Признаки и симптомы
Класс, метод, поле или параметр не используются.

interface PaymentFactoryProvider {
PaymentFactory factory(); // существует только одна реализация
}
class CashProvider implements PaymentFactoryProvider {
public PaymentFactory factory() { return new CashFactory(); }
}##Причины проблемы
Иногда код создаётся «про запас», чтобы поддерживать какой-то возможный будущий функционал, который в итоге так и не реализуется. В результате этот код становится труднее понимать и сопровождать.
##Лечение
Приёмы рефакторинга
##Результат
-
Уменьшение размера кода.
-
Упрощение поддержки.