http://www.javacodegeeks.com/2013/05/building-smart-builders.html
Personally I had never seen this as a defined pattern before, but its
actually quite similar to the design for building a SessionFactory in
metamodel that we scoped out in Stockholm meeting.