private void labelIsolatedNodes(){
  for (Iterator ni=nodes.iterator(); ni.hasNext(); ) {
    Node n=(Node)ni.next();
    Label label=n.getLabel();
    Assert.isTrue(label.getGeometryCount() > 0,"node with empty label found");
    if (n.isIsolated()) {
      if (label.isNull(0))       labelIsolatedNode(n,0);
 else       labelIsolatedNode(n,1);
    }
  }
}

private void labelIsolatedNodes ( ) { for ( Iterator ni = nodes . iterator ( ) ; ni . hasNext ( ) ; ) { Node n = ( Node ) ni . next ( ) ; Label label = n . getLabel ( ) ; Assert . isTrue ( label . getGeometryCount ( ) > 0 , "node with empty label found" ) ; if ( n . isIsolated ( ) ) { if ( label . isNull ( 0 ) ) labelIsolatedNode ( n , 0 ) ; else labelIsolatedNode ( n , 1 ) ; } } }
isolated nodes are nodes whose labels are incomplete ( e . g . the location for one geometry is null ) . this is the case because nodes in one graph which don ' t intersect nodes in the other are not completely labelled by the initial process of adding nodes to the nodelist . to complete the labelling we need to check for nodes that lie in the interior of edges , and in the interior of areas .
