code: public static void deregisterTx(Session tx) {
          if (tx == null) {
              return;
          }
          synchronized (allFields) {
              for (TransientField<?> f: allFields.keySet()) {
                  //returns null if key does not exist.
                  synchronized (f) {
                      if (f.txMap.containsKey(tx)) {
                          f.txMap.remove(tx).clear();
                      }
                  }
              }
          }
      }
docs: <b>Not to be called by client.</b>
  This is internally called by the transaction manager.
  This method frees up all transient fields that are associated with the
  given Transaction.
  @param tx The transaction