code: public Node<T> getPrevious(long value) {
      	if (value == first.value) return null;
      	if (value == root.value) {
      		if (root.left == null) return null;
      		Node<T> n = root.left;
      		while (n.right != null) n = n.right;
      		return n;
      	}
      	if (value < root.value) {
      		if (root.left == null) return null;
      		return getPrevious(root.left, value);
      	}
      	if (root.right == null) return null;
      	return getPrevious(root, root.right, value);
      }
docs: Returns the node containing the key just before the given key.