code: public Node<T> getNext(Node<T> node) {
      	if (node.right != null) {
      		node = node.right;
      		while (node.left != null) node = node.left;
      		return node;
      	}
      	// nothing at right, it may be the parent node if the node is at the left
      	if (node == last) return null;
      	return getNext(root, node.value);
      }
docs: Returns the node containing the key just before the key of the given node.