Jo, ty na 99% delas uplnou stupiditu.
Tady jde videt C# v praxi, ma to 100 ruznych featur a programatori s tim pak pisou takovy govna. Proste to umi delegaty a generika bez type erasure, tak proste i ty jelita (obzvlaste) se to vzdycky budou snazit na neco napasovat, ikdyz ta vec jde udelat uplne jednoduse.
To mi pripomelo minuleho tazatele architekta C#-istu, ktery prichazejic z uzavrene M$ platformy, napise hned v 1. vete "nechci nikomu sdelovat sve knowhow" a potom popise narovnavak na ohybak, ktery vymysleli

Proc si proste jednoduse neudelas neco jako:
FooApiHandler {
private static final int PAGE_SIZE = 50;
private FooApiConnector fooApiConnector;
public FooApiHandler(FooApiConnector fooApiConnector) {..}
public CockableGuy searchForBiggestCock() {
CockableGuy biggestCockGuy;
for(int pageNumber = 0; true ; i++) {
List<CockableGuy> guys = fooApiConnector.listCockableGuys(pageNumber, PAGE_SIZE);
guys.add(biggestCockGuy);
biggestCockGuy = findBiggestCock(guys);
if(guys.size() < PAGE_SIZE)
break;
}
return biggestCockGuy;
}
private CockableGuy findBiggestCock(List<CockableGuy> gays)
}
Mam ted na projektu nejakych 400000 radku a doted si nejak nemuzu vybavit jedine pouziti generika, mozna tam nejake je, ale... Nerikam, ze to neni uzitecne, ale proste ty veci jdou vetsinou napsat pekne jednoduseji bez nich. Natoz pak abych knucel, ze generika v Jave maji type erasure. Tvl.
To je jeden z antipatternu, snazit se vsechno udelat nejak chytre a na vsechno napasovat nejaky nesmysl.