private TreeLinkNode findFirstChildOfNext(TreeLinkNode next) {

    TreeLinkNode nextTmp = next;
    while (nextTmp != null) {
      if (nextTmp.left != null) {
        return nextTmp.left;
      } else if (nextTmp.right != null) {
        return nextTmp.right;
      } else {
        nextTmp = nextTmp.next;
      }
    }
    return null;
  }