code: public Timestamp getOrAddToCache(Timestamp newValue, boolean hard)
      {
          if (newValue == null || newValue instanceof CachedImmutableTimestamp || newValue == NullDataTimestamp.getInstance())
          {
              return newValue;
          }
          return (Timestamp) weakPool.getIfAbsentPut(newValue, hard);
      }
docs: return the pooled value
  
  @param newValue the value to look up in the pool and add if not there
  @return the pooled value