public boolean remove(E x) {
		if (super.isEmpty()) {
			return false;
		} else if (super.contains(x)) {
			if (maxElement.compareTo(x) == 0) {
				super.remove(x);
				if (super.isEmpty()) {
					maxElement = null;
				} 
				else {
					Iterator<E> itr = super.iterator();
					maxElement = itr.next();
					while (itr.hasNext()) {
						E temp = itr.next();
						if (temp.compareTo(maxElement) > 0) {
							maxElement = temp;
						}
					}
				}
				return true;
			} else {
				super.remove(x);
				return true;
			}
		}
		return false;
	}