private final V finish_removal ( BinTreeNode < K , V > node , BinTreeNode < K , V > prev , int son , BinTreeNode < K , V > m ) { if ( m != null ) { // set up the links for m m . left = node . left ; m . right = node . right ; } if ( prev == null ) root = m ; else { if ( son == 0 ) prev . left = m ; else prev . right = m ; } return node . value ; }
BinTreeNode that should replace node in the tree .