private void add(NodeValue value) { Node r_node = new Node(last_node.getKey()); nodes.remove(r_node.getKey()); nodes.put(r_node.getKey().getType(), r_node); last_node.setLeftChild(r_node); last_node.setKey(new NodeValue(AND)); Node new_node = new Node(value); nodes.put(new_node.getKey().getType(), new_node); last_node.setRightChild(new_node); last_node = new_node; }