меня гораздо больше не фабрики напрягают, а мутации аргументов функции
public List<PricingDTO> deletePromos(List<PromoInfoDTO> promoInfoDTOsDelete, List<PricingDTO> offerPromos, ArrayList<Error> errors)
вот казалось бы, принимаешь списки, выдаёшь ещё какой-то список.
Но нихуя, из входных списков удаляются или добавляются какие-то элементы и надо копаться во всех бранчах ВСЕХ вызовов чтобы осознать что же делает эта ебанина и где наёб
я думаю ты справишься, для фп богов ооп говно это как децкие игрушки...