import java.util.Optional;
@FreeBuilder
interface Person {
String getName();
Optional<String> getPassportId();
class Builder extends Person_Builder {}
}
Person phil = new Person.Builder().setName("Phil").build();
assertFalse(phil.getPassportId().isPresent());
Person joe = new Person.Builder().setName("Joe").setPassportId("22433B").build();
assertTrue(joe.getPassportId().isPresent());