public TreeNode findMinimum(final TreeNode root) {
        if (root == null) {
            return null;
        }
        if (root.left == null) {
            return root;
        }
        return findMinimum(root.left);
    }