private V getElem(BSTEntry<K, V> top, K key) {
		if (top == null) {
			throw new NoSuchElementException("Key does not exist - get.");
		}
		
		int comp = key.compareTo(top.getKey());
		if (comp == 0) {
			return top.getValue();
		} else if (comp > 0) {
			return getElem(top.getRight(), key);
		} else {
			return getElem(top.getLeft(), key);
		}
	}