An object cache can be implemented as static Hashtable member of a class. Access is through
a synchronized static method, which creates the Hashtable if it has not yet been created, and
creates requested objects if they are not already in the Hashtable.
The Hashtable should not be initialized where it is defined, since the static initialization
method is apparently not synchronized by default, and this can cause trouble.