code: public MaterializationCache createObjectCache(PersistenceBroker broker)
      {
          CacheDistributor cache = null;
          try
          {
              log.info("Start creating new ObjectCache instance");
              /*
              1.
              if default cache was not found,
              create an new instance of the default cache specified in the
              configuration.
              2.
              Then instantiate AllocatorObjectCache to handle
              per connection/ per class caching instances.
              3.
              To support intern operations we wrap ObjectCache with an
              InternalObjectCache implementation
              */
              cache = new CacheDistributor(broker);
              log.info("Instantiate new " + cache.getClass().getName() + " for PB instance " + broker);
          }
          catch(Exception e)
          {
              log.error("Error while initiation, please check your configuration" +
                      " files and the used implementation class", e);
          }
          log.info("New ObjectCache instance was created");
          return new MaterializationCache(cache);
      }
docs: Creates a new {@link ObjectCacheInternal} instance. Each <tt>ObjectCache</tt>
  implementation was wrapped by a {@link CacheDistributor} and the distributor
  was wrapped by {@link MaterializationCache}.
  
  @param broker The PB instance to associate with the cache instance