code: private DeleteStack getDeleteStack()
      {
          Object x = _deleteStack.get();
          DeleteStack g = null;
          if (x != null)
          {
              g = (DeleteStack) x;
              g.reset();
          }
          else
          {
              g = new DeleteStack(this);
              x = (Object) g;
              _deleteStack.set(x);
          }
          return g;
      }
docs: Find a DeleteStack for use by the current thread.
  
  <p>Allocation of a DeleteStack is more expensive than serial reuse.
  This is a very cheap form of pooling done by attaching a
  DeleteStack to each thread that calls delete.</p>