1: // @author Frank M. Carrano, Timothy M. Henry 2: // @version 5.0 3: private void removeNode(BinaryNode<T> nodeToRemove, BinaryNode<T> parentNode) 4: { 5: BinaryNode<T> childNode; 7: if (nodeToRemove.hasLeftChild()) 8: childNode = nodeToRemove.getLeftChild(); 9: else 10: childNode = nodeToRemove.getRightChild(); 12: // Assertion: if nodeToRemove is a leaf, childNode is null 14: if (nodeToRemove == getRootNode()) 15: setRootNode(childNode); 16: else if (parentNode.getLeftChild() == nodeToRemove) 17: parentNode.setLeftChild(childNode); 18: else 19: parentNode.setRightChild(childNode); 20: } // end removeNode