public static boolean areEqual(TreeNode<String> t1, TreeNode<String> t2) {
		if (t1 == null && t2 == null) {
			return true;
		}

		if (t1 == null || t2 == null) {
			return false;
		}

		if (!t1.data.equals(t2.data)) {
			return false;
		}

		/* recursive call */
		return areEqual(t1.left, t2.left) && areEqual(t1.right, t2.right);
	}