code: @SuppressWarnings("unchecked")
  	@Override 
  	public boolean containsAll(Collection<?> c) {
  		if (isEmpty() || c == null || c.isEmpty())
  			return false;
  		if (this == c)
  			return true;
  		
  		if (elements instanceof List<?> && c instanceof GenericExtendedSet<?> && ((GenericExtendedSet<?>) c).elements instanceof List<?>) {
  			Iterator<T> thisItr = elements.iterator();
  			Iterator<T> otherItr = ((GenericExtendedSet<T>) c).elements.iterator();
  			while (thisItr.hasNext() && otherItr.hasNext()) {
  				T thisValue = thisItr.next();
  				T otherValue = otherItr.next();
  
  				int r;
  				while ((r = otherValue.compareTo(thisValue)) > 0) {
  					if (!thisItr.hasNext())
  						return false;
  					thisValue = thisItr.next();
  				}
  				if (r < 0)
  					return false;
  			}
  			return !otherItr.hasNext();
  		}
  
  		return elements.containsAll(c);
  	}
docs: {@inheritDoc}