code: public boolean close()
      {
          if (getDelegate() == null) return true;
          try
          {
              PersistenceBrokerThreadMapping.unsetCurrentPersistenceBroker(getPBKey(), this);
              super.close();
          }
          finally
          {
              /*
              here we destroy the handle. set the
              underlying PB instance 'null', thus it's not
              possible to corrupt a closed PB instance.
              */
              setDelegate(null);
          }
          return true;
      }
docs: Destroy this handle and return the underlying (wrapped) PB instance
  to pool (when using default implementation of PersistenceBrokerFactory),
  unset this instance from {@link PersistenceBrokerThreadMapping}.