code: public void process( FastQueue<TldRegion> regions , FastQueue<TldRegion> output ) {
  
  		final int N = regions.size;
  
  		// set all connections to be a local maximum initially
  		conn.growArray(N);
  		for( int i = 0; i < N; i++ ) {
  			conn.data[i].reset();
  		}
  
  		// Create the graph of connected regions and mark which regions are local maximums
  		for( int i = 0; i < N; i++ ) {
  			TldRegion ra = regions.get(i);
  			Connections ca = conn.data[i];
  
  			for( int j = i+1; j < N; j++ ) {
  				TldRegion rb = regions.get(j);
  				Connections cb = conn.data[j];
  
  				// see if they are connected
  				double overlap = helper.computeOverlap(ra.rect,rb.rect);
  				if( overlap < connectionThreshold ) {
  					continue;
  				}
  
  				// connect the two and check for strict maximums
  				ca.maximum &= ra.confidence > rb.confidence;
  				cb.maximum &= rb.confidence > ra.confidence;
  				ra.connections++;
  				rb.connections++;
  			}
  		}
  
  		// Compute the output from local maximums.
  		for( int i = 0; i < N; i++ ) {
  			TldRegion ra = regions.get(i);
  			Connections ca = conn.data[i];
  
  			if( ca.maximum ) {
  				TldRegion o = output.grow();
  				o.connections = ra.connections;
  				o.confidence = ra.confidence;
  				o.rect.set(ra.rect);
  			} else if( ra.connections == 0 ) {
  				System.out.println("Not a maximum but has zero connections?");
  			}
  		}
  	}
docs: Finds local maximums from the set of provided regions
  
  @param regions Set of high confidence regions for target
  @param output Output after non-maximum suppression