docs: protected void mergeSmallRegions() {
  		for( int i = 0; i < edgesNotMatched.size(); i++ ) {
  			Edge e = edgesNotMatched.get(i);
  
  			int rootA = find(e.indexA);
  			int rootB = find(e.indexB);
  
  			// see if they are already part of the same segment
  			if( rootA == rootB )
  				continue;
  
  			int sizeA = regionSize.get(rootA);
  			int sizeB = regionSize.get(rootB);
  
  			// merge if one of the regions is too small
  			if( sizeA < minimumSize || sizeB < minimumSize ) {
  				// Point everything towards rootA
  				graph.data[e.indexB] = rootA;
  				graph.data[rootB] = rootA;
  
  				// Update the size of regionA
  				regionSize.data[rootA] = sizeA + sizeB;
  			}
  		}
  	}