Per poter valutare un design migliore, bisognerebbe comprendere il contesto d'uso. Chi usa ParseFile? Chi invoca i vari genericParser ecc.. e in base a cosa? Dove è l' "output" di tutto questo? (non conosco Tika e non riesco a capire cosa fa .. vedo i metodi void e senza argomenti ... quindi cosa "produce"?)