public T getFirst() {
		if (leftBranch != null && !leftBranch.isEmpty()) {     // if there's non-empty left sub-tree
			return leftBranch.getFirst();                          // return its first element
		}
		else if (node != null) {                               // if the node is not empty
			return node;                                            // return it
		}
		else if (rightBranch != null && !rightBranch.isEmpty()) { // if there's non-empty right sub-tree
			return leftBranch.getFirst();                           // return its first element
		}
		else {
			throw new UnsupportedOperationException(
			"Cannot access the first element of an empty data set"); // the tree is empty
		}
	}