/** {@inheritDoc} * */
 @Override
 final ClusteringSolution _testTrivially() {
   final ClusteringSolution result;
   if (this.m_m == 2) {
     result = ClusteringTools.clusterTwoDataElements(this.getLogger(), this.m_matrix);
     this.m_matrix = null;
     return result;
   }
   return null;
 }
 @Override
 protected void addNewCluster(Set<NodeDescriptor> cluster, IFolder folder) {
   if (!cluster.isEmpty()) {
     clusters.add(cluster);
     if (folder.isLinked()) {
       mapNameCluster.put(
           "Linked from " + ClusteringTools.truncate(folder.getLocation().toOSString()), cluster);
     } else {
       mapNameCluster.put(folder.getProjectRelativePath().toOSString(), cluster);
     }
   }
 }
 @Override
 protected void checkFile(IFile file, Set<NodeDescriptor> cluster) {
   final String name = parser.containedModule(file);
   if (name == null) {
     return;
   }
   if (file.isLinked()) {
     checkLinkedFile(
         name,
         "Linked from "
             + ClusteringTools.truncate(file.getLocation().removeLastSegments(1).toOSString()));
   } else {
     addNodeToCluster(name, cluster);
   }
 }