I wonder instead of having everyone who extends this class to implement Builder<T> that we instead have this abstract class implement Builder<T> to force subclasses to have the build method.  Or is there a class I didn't see that doesn't need Builder type any longer that extends this class?