if (node == null) { final Node<K, V> root = new Node<>(key, value); rootNode[KEY.ordinal()] = root; rootNode[VALUE.ordinal()] = root; node = node.getLeft(KEY); } else { final Node<K, V> newNode = new Node<>(key, value); node = node.getRight(KEY); } else { final Node<K, V> newNode = new Node<>(key, value);