Builder with fluent interface in Java

Ho creato una libreria che semplifica la creazione Fluent Builders. La libreria su un idea di Stephan Schmidt che ho ampliato e modificato. La libreria permette di creare un builder con interfaccia fluent senza scrivere codice ripetitivo. La libreria permette di riscrivere il codice seguente:
Person person = new Person();
person.setFirstName("John");
person.setLastName("Smith");
person.getLovedThings().add("pizza");
person.getLovedThings().add("soccer");
person.getLovedThings().add("jogging");
person.setAge(30);
nel seguente modo:
Person person2 = Person.builder()
       .withFirstName("John")
       .withLastName("Smith")
       .withLovedThings("pizza", "soccer", "jogging")
       .withAge(30)
       .build();
Maggiori dettagli li trovati sul mio sito: Fluent Builder Library