public boolean equalsTree(BinaryTree<E> t2) {
		if (hasLeft() != t2.hasLeft() || hasRight() != t2.hasRight()) return false;
		if (!data.equals(t2.data)) return false;
		if (hasLeft() && !left.equalsTree(t2.left)) return false;
		if (hasRight() && !right.equalsTree(t2.right)) return false;
		return true;
	}