private int naturalFollowerConnections(final List<ConnectableSegment> segments){
  int connected=0;
  for (  final ConnectableSegment segment : segments) {
    if (segment.getNext() == null) {
      final BSPTree<Euclidean2D> node=segment.getNode();
      final BSPTree<Euclidean2D> end=segment.getEndNode();
      for (      final ConnectableSegment candidateNext : segments) {
        if (candidateNext.getPrevious() == null && candidateNext.getNode() == end && candidateNext.getStartNode() == node) {
          segment.setNext(candidateNext);
          candidateNext.setPrevious(segment);
          ++connected;
          break;
        }
      }
    }
  }
  return connected;
}

private int naturalFollowerConnections ( final List < ConnectableSegment > segments ) { int connected = 0 ; for ( final ConnectableSegment segment : segments ) { if ( segment . getNext ( ) == null ) { final BSPTree < Euclidean2D > node = segment . getNode ( ) ; final BSPTree < Euclidean2D > end = segment . getEndNode ( ) ; for ( final ConnectableSegment candidateNext : segments ) { if ( candidateNext . getPrevious ( ) == null && candidateNext . getNode ( ) == end && candidateNext . getStartNode ( ) == node ) { segment . setNext ( candidateNext ) ; candidateNext . setPrevious ( segment ) ; ++ connected ; break ; } } } } return connected ; }
connect the segments using only natural follower information .
