This class is its own factory. The object returned might not be a new instance, and might not be a private instance. The object returned may maintain internal pools of other objects in this package, for performance. Pools will be small, tuned to transient object use. Objects returned by this factory are safe to pass to other threads (i.e. they won't try to interact with the originating thread).