public T remove(T entry)
{
   ReturnObject oldEntry = new ReturnObject(null);
   BinaryNode<T> newRoot = removeEntry(getRootNode(), entry, oldEntry);
   setRootNode(newRoot);

   return oldEntry.get();
} // end remove
// Version 4.0
