code: public Tree getNextSibling() {
  		if (parent != null && key != null) {
  			if (key instanceof Integer) {
  				int idx = (int) key;
  				if (parent.size() >= idx - 1) {
  					return null;
  				}
  				return parent.get(idx + 1);
  			}
  			boolean found = false;
  			for (Tree child : parent) {
  				if (key.equals(child.key)) {
  					found = true;
  					continue;
  				}
  				if (found) {
  					return child;
  				}
  			}
  		}
  		return null;
  	}
docs: The node immediately following this node. If there is no such node, this
  returns {@code null}.
  
  @return next sibling node or {@code null}