@Override
   public boolean containsValue( Object value )
   {
      Iterable<T> values = new ValueIterator( root );

      for (T v : values)
      {
         if (v == value || (v != null && value != null && v.equals( values )))
         {
            return true;
         }
      }

      return false;
   }