Factory method
Appearance
this is a static method of a class that produces an object.
it is used when the class knows more about the object than the client programmer.
also often in classes that have factory methods, are those who do have private constructor(s) and other initialisation occur before the object is produce.