code: @MustBeLocked (ELockType.WRITE)
    protected final void putInCacheNotLocked (@Nonnull final KEYTYPE aKey, @Nonnull final VALUETYPE aValue)
    {
      ValueEnforcer.notNull (aKey, "cacheKey");
      ValueEnforcer.notNull (aValue, "cacheValue");
  
      // try again in write lock
      if (m_aCache == null)
      {
        // Create a new map to cache the objects
        m_aCache = createCache ();
        if (m_aCache == null)
          throw new IllegalStateException ("No cache created!");
      }
      m_aCache.put (aKey, aValue);
    }
docs: Put a new value into the cache.
  
  @param aKey
  The cache key. May not be <code>null</code>.
  @param aValue
  The cache value. May not be <code>null</code>.