Une version de plus en java.
Sont privilégés la concision, la lisibilité et la performance. Pas besoin de sortir toute l'artillerie lourde pour le moment.
Tant que le besoin fonctionnel n'évolue pas, les 2 champs StringBuilder et int me permettent de simplifier les signatures de méthodes. La contrepartie est que je ne teste pas le code méthode par méthode.