/**
   * Returns the cached entity.
   *
   * @return true if the cached value is valid.
   */
  @Override
  public Entity loadEntity(AmberConnection aConn, int loadGroup) {
    long now = CurrentTime.getCurrentTime();

    if (_expireTime < now) {
      _expireTime = now + _home.getCacheTimeout();
      _cacheEntity.__caucho_expire();
    }

    try {
      // jpa/0v33
      // Prepared statements are cached per context so
      // at this point, the cache item needs to use the
      // context connection.

      // _cacheEntity.__caucho_setConnection(aConn);
      _cacheEntity.__caucho_retrieve_self(aConn);
    } finally {
      // After loading the entity, all prepared statements
      // were properly cached into the context connection.
      // Now make the cached entity item independent
      // from any particular context.
      _cacheEntity.__caucho_setConnection(null);
    }

    return _cacheEntity;
  }
  /**
   * Returns the cached entity.
   *
   * @return true if the cached value is valid.
   */
  public Entity getEntity() {
    long now = CurrentTime.getCurrentTime();

    if (_expireTime < now) {
      long timeout = _home.getCacheTimeout();

      boolean isExpired = _expireTime > 0 && timeout > 0;

      _expireTime = now + timeout;

      if (isExpired) _cacheEntity.__caucho_expire();
    }

    return _cacheEntity;
  }
  /**
   * Returns the cached entity.
   *
   * @return true if the cached value is valid.
   */
  @Override
  public Entity loadEntity(int loadGroup) {
    long now = CurrentTime.getCurrentTime();

    if (_expireTime < now) {
      _expireTime = now + _home.getCacheTimeout();
      _cacheEntity.__caucho_expire();
    }

    AmberConnection aConn = _home.getManager().getCacheConnection();

    try {
      // _cacheEntity.__caucho_setConnection(aConn);
      _cacheEntity.__caucho_retrieve_self(aConn);
    } finally {
      aConn.freeConnection();
    }

    return _cacheEntity;
  }
 /** Expire the value from the cache. */
 @Override
 public void expire() {
   _cacheEntity.__caucho_expire();
 }