/**
   * Method to close the Persistence Manager. This is invoked by the application server if this
   * handle is not closed
   */
  public void close() {
    assertIsOpen();
    LOGGER.debug("Closing handle " + this);

    if (pm != null) {
      pm.flush();
      mc.notifyClosed(this);
    }
    closed = true;
  }
  /**
   * Constructor.
   *
   * @param mc The connection implementation.
   */
  public PersistenceManagerImpl(final ManagedConnectionImpl mc) {
    LOGGER.debug("Instantiating handle " + this + " for ManagedConnection " + mc);

    tx = new ApplicationLocalTransaction(this);
    setManagedConnection(mc);
  }