code: public synchronized TreeEntry<K, V> firstEntry() {
  		if (!validState) {
  			throw new InvalidStateException();
  		}
  		final LeafNode<K, V> node = findSideLeafNode(true);
  		if (node == null) {
  			return null;
  		}
  		final K key = node.keys[0];
  		final V value = node.values[0];
  		return ((key == null) ? null : new TreeEntry<K, V>(key, value));
  	}
docs: Returns the first (lowest) key currently in this tree.
  
  @return key