private Node getNode(String key) {
    // если корня нет - вставить в корень
    if (root == null) {
      return null;
    } else {
      Node currentNode = root;
      while (true) {
        int compare = key.compareTo(currentNode.getKey());
        // если совпадает
        if (compare == 0) {
          return currentNode;
        } else if (compare < 0) {
          // если меньше
          // перейти к левому элементу
          if (currentNode.getLeftChild() == null) {
            return null;
          } else {
            currentNode = currentNode.getLeftChild();
          }
        } else if (compare > 0) {
          // если больше 
          // перейти к правому элементу
          if (currentNode.getRightChild() == null) {
            return null;
          } else {
            currentNode = currentNode.getRightChild();
          }
        }
      }
    }
  }