Index: trunk/CrossPareConfigurationBuilder/src/de/ugoe/cs/crosspare/ConfigurationBuilder.java
===================================================================
--- trunk/CrossPareConfigurationBuilder/src/de/ugoe/cs/crosspare/ConfigurationBuilder.java	(revision 143)
+++ trunk/CrossPareConfigurationBuilder/src/de/ugoe/cs/crosspare/ConfigurationBuilder.java	(revision 144)
@@ -1,4 +1,5 @@
 package de.ugoe.cs.crosspare;
 
+import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -8,5 +9,44 @@
 public class ConfigurationBuilder {
     
-    private static enum Dataset {MDP, JURECZKO, FILTERJURECZKO, AEEEM, RELINK, NETGENE, SELECTEDJURECZKO, AEEEM_LDHH, AEEEM_WCHU, AEEEM_LDHHWCHU, SMARTSHARK_ALL, SMARTSHARK_AST, SMARTSHARK_SM}
+    private static enum Dataset {
+        MDP,
+        MDP_EFFNORM,
+        MDP_EFFLOGNORM,
+        JURECZKO,
+        FILTERJURECZKO,
+        SELECTEDJURECZKO,
+        JURECZKO_NUMERIC,
+        JURECZKO_EFFNORM,
+        JURECZKO_EFFLOGNORM,
+        JURECZKO_EFFNORM_NUMERIC,
+        JURECZKO_EFFLOGNORM_NUMERIC,
+        JURECZKO_NUMERIC_DUPLICATE,
+        JURECZKO_NUMERIC_WEIGHTS,
+        AEEEM,
+        AEEEM_LDHH,
+        AEEEM_WCHU,
+        AEEEM_LDHHWCHU,
+        AEEEM_NUMERIC,
+        AEEEM_LDHH_NUMERIC,
+        AEEEM_WCHU_NUMERIC,
+        AEEEM_LDHHWCHU_NUMERIC,
+        AEEEM_LDHHWCHU_EFFNORM,
+        AEEEM_LDHHWCHU_EFFLOGNORM,
+        AEEEM_LDHHWCHU_EFFNORM_NUMERIC,
+        AEEEM_LDHHWCHU_EFFLOGNORM_NUMERIC,
+        AEEEM_LDHHWCHU_NUMERIC_DUPLICATE,
+        AEEEM_LDHHWCHU_NUMERIC_WEIGHTS,
+        RELINK,
+        RELINK_EFFNORM,
+        RELINK_EFFLOGNORM,
+        NETGENE,
+        NETGENE_NUMERIC,
+        NETGENE_NUMERIC_DUPLICATE,
+        NETGENE_NUMERIC_WEIGHTS,
+        SMARTSHARK_ALL,
+        SMARTSHARK_AST,
+        SMARTSHARK_SM,
+        SMARTSHARK_ALL_NUMERIC
+    }
     
     private static final String storageFolder = "config/";
@@ -48,5 +88,17 @@
     
     public static void writeFile(String approach, Dataset dataset) {
-        try(FileWriter writer = new FileWriter(storageFolder + dataset.toString() + "-" + approach + ".xml");) {
+        File file = new File(storageFolder + dataset.toString() + "/"+  dataset.toString() + "-" + approach + ".xml");
+        file.getParentFile().mkdirs();
+        try(FileWriter writer = new FileWriter(file);) {
+            writer.append((String) ConfigurationBuilder.class.getMethod(approach, Dataset.class).invoke(null, dataset));
+            writer.flush();
+        }
+        catch (IOException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
+            e.printStackTrace();
+        }
+        
+        file = new File(storageFolder + "ALL/"+  dataset.toString() + "-" + approach + ".xml");
+        file.getParentFile().mkdirs();
+        try(FileWriter writer = new FileWriter(file);) {
             writer.append((String) ConfigurationBuilder.class.getMethod(approach, Dataset.class).invoke(null, dataset));
             writer.flush();
@@ -110,6 +162,20 @@
                 configFile.append(" <loader name=\"NasaARFFFolderLoader\" datalocation=\"benchmark/data/MDP\" relative=\"false\"/>\n");
                 break;
+            case MDP_EFFNORM:
+                configFile.append(" <loader name=\"NasaARFFFolderLoader\" datalocation=\"benchmark/data/MDP\" relative=\"false\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"LOC_EXECUTABLE\"/>\n");
+                break;
+            case MDP_EFFLOGNORM:
+                configFile.append(" <loader name=\"NasaARFFFolderLoader\" datalocation=\"benchmark/data/MDP\" relative=\"false\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"LOC_EXECUTABLE\"/>\n");
+                break;
             case JURECZKO:
                 configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\"/>\n");
+                break;
+            case JURECZKO_NUMERIC:
+                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
                 break;
             case FILTERJURECZKO:
@@ -118,4 +184,38 @@
                 configFile.append(" <versionfilter name=\"UnbalancedFilter\" param=\"0.05\" />\n");
                 break;
+            case SELECTEDJURECZKO:
+                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/SELECTEDJURECZKO\" relative=\"false\"/>\n");
+                break;
+            case JURECZKO_EFFNORM:
+                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"loc\"/>\n");
+                break;
+            case JURECZKO_EFFLOGNORM:
+                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"loc\"/>\n");
+                break;
+            case JURECZKO_EFFNORM_NUMERIC:
+                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"loc\"/>\n");
+                break;
+            case JURECZKO_EFFLOGNORM_NUMERIC:
+                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"loc\"/>\n");
+                break;
+            case JURECZKO_NUMERIC_DUPLICATE:
+                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"CreateBugDuplicates\" param=\"\" />\n");
+                break;
+            case JURECZKO_NUMERIC_WEIGHTS:
+                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/JURECZKO\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"WeightByNumBugs\" param=\"\" />\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                break;
             case AEEEM:
                 configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM\" relative=\"false\"/>\n");
@@ -130,12 +230,79 @@
                 configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_WCHU\" relative=\"false\"/>\n");
                 break;
+            case AEEEM_NUMERIC:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                break;
+            case AEEEM_LDHH_NUMERIC:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHH\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                break;
+            case AEEEM_LDHHWCHU_NUMERIC:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                break;
+            case AEEEM_WCHU_NUMERIC:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_WCHU\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                break;
+            case AEEEM_LDHHWCHU_EFFNORM:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"numberOfLinesOfCode\"/>\n");
+                break;
+            case AEEEM_LDHHWCHU_EFFLOGNORM:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"numberOfLinesOfCode\"/>\n");
+                break;
+            case AEEEM_LDHHWCHU_EFFNORM_NUMERIC:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"numberOfLinesOfCode\"/>\n");
+                break;
+            case AEEEM_LDHHWCHU_EFFLOGNORM_NUMERIC:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"numberOfLinesOfCode\"/>\n");
+                break;
+            case AEEEM_LDHHWCHU_NUMERIC_DUPLICATE:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"CreateBugDuplicates\" param=\"\" />\n");
+                break;
+            case AEEEM_LDHHWCHU_NUMERIC_WEIGHTS:
+                configFile.append(" <loader name=\"ARFFFolderLoader\" datalocation=\"benchmark/data/AEEEM_LDHHWCHU\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"WeightByNumBugs\" param=\"\" />\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                break;
             case RELINK:
                 configFile.append(" <loader name=\"RelinkFolderLoader\" datalocation=\"benchmark/data/RELINK\" relative=\"false\"/>\n");
                 break;
+            case RELINK_EFFNORM:
+                configFile.append(" <loader name=\"RelinkFolderLoader\" datalocation=\"benchmark/data/RELINK\" relative=\"false\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"CountLineCodeExe\"/>\n");
+                break;
+            case RELINK_EFFLOGNORM:
+                configFile.append(" <loader name=\"RelinkFolderLoader\" datalocation=\"benchmark/data/RELINK\" relative=\"false\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"NormalizeByLogEffort\" param=\"\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"CountLineCodeExe\"/>\n");
+                break;
             case NETGENE:
                 configFile.append(" <loader name=\"NetgeneFolderLoader\" datalocation=\"benchmark/data/NETGENE\" relative=\"false\"/>\n");
                 break;
-            case SELECTEDJURECZKO:
-                configFile.append(" <loader name=\"CSVFolderLoader\" datalocation=\"benchmark/data/SELECTEDJURECZKO\" relative=\"false\"/>\n");
+            case NETGENE_NUMERIC:
+                configFile.append(" <loader name=\"NetgeneFolderLoader\" datalocation=\"benchmark/data/NETGENE\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                break;
+            case NETGENE_NUMERIC_DUPLICATE:
+                configFile.append(" <loader name=\"NetgeneFolderLoader\" datalocation=\"benchmark/data/NETGENE\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"CreateBugDuplicates\" param=\"\" />\n");
+                break;
+            case NETGENE_NUMERIC_WEIGHTS:
+                configFile.append(" <loader name=\"NetgeneFolderLoader\" datalocation=\"benchmark/data/NETGENE\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"WeightByNumBugs\" param=\"\" />\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
                 break;
             case SMARTSHARK_ALL:
@@ -156,4 +323,10 @@
                 configFile.append(" <setwisepreprocessor name=\"AttributeRemoval\" param=\"ReferenceType LambdaExpression Member TypeArgument ThrowStatement ArraySelector Declaration ClassCreator ForStatement SwitchStatement InnerClassCreator Literal TypeParameter VoidClassReference WhileStatement EnhancedForControl This Statement ForControl BinaryOperation MethodReference SuperMemberReference EnumBody FormalParameter EnumConstantDeclaration Expression PackageDeclaration VariableDeclarator AssertStatement Documented node_count DoStatement InterfaceDeclaration ReturnStatement Cast ExplicitConstructorInvocation EnumDeclaration SynchronizedStatement AnnotationMethod SwitchStatementCase MemberReference TypeDeclaration ArrayInitializer CatchClauseParameter CatchClause VariableDeclaration TryStatement Annotation TryResource MethodInvocation BasicType ElementArrayValue InferredFormalParameter IfStatement SuperConstructorInvocation BreakStatement AnnotationDeclaration FieldDeclaration Assignment ContinueStatement Import Primary BlockStatement ClassDeclaration TernaryExpression ClassReference CompilationUnit ConstantDeclaration LocalVariableDeclaration MethodDeclaration ConstructorDeclaration ElementValuePair ArrayCreator Invocation StatementExpression SuperMethodInvocation\"/>\n");
                 break;
+            case SMARTSHARK_ALL_NUMERIC:
+                configFile.append(" <loader name=\"JsonFolderLoader\" datalocation=\"exp-smartshark/data\" relative=\"false\" classtype=\"numeric\"/>\n");
+                configFile.append(" <setwisepreprocessor name=\"MakeClassBinary\" param=\"\" />\n");
+                configFile.append(" <versionfilter name=\"MinInstanceNumberFilter\" param=\"100\" />\n");
+                configFile.append(" <versionfilter name=\"UnbalancedFilter\" param=\"0.05\" />\n");
+                break;
             default:
                 throw new InvalidParameterException("Unknown data set: " + dataset.toString());
@@ -378,55 +551,4 @@
         dataset(configFile, dataset);
         trainers(configFile);
-        
-        int numNeighbors;
-        switch (dataset)
-        {
-            case AEEEM:
-            case AEEEM_LDHH:
-            case AEEEM_WCHU:
-            case AEEEM_LDHHWCHU:
-                numNeighbors = 2;
-                break;
-            case MDP:
-                numNeighbors = 5;
-                break;
-            case JURECZKO:
-                numNeighbors = 30;
-                break;
-            case FILTERJURECZKO:
-                numNeighbors = 20;
-                break;
-            case RELINK:
-                numNeighbors = 1;
-                break;
-            case NETGENE:
-                numNeighbors = 1;
-                break;
-            case SELECTEDJURECZKO:
-                numNeighbors = 4;
-                break;
-            case SMARTSHARK_ALL:
-            case SMARTSHARK_AST:
-            case SMARTSHARK_SM:
-                // TODO check num neighbors
-            default:
-                numNeighbors = 10;
-                break;
-        }
-        
-        configFile.append(" <setwisepreprocessor name=\"Normalization\" param=\"\" />\n");
-        configFile.append(" <setwiseselector name=\"SetWiseKNNSelection\" param=\""+ numNeighbors +"\" />\n");
-        configFile.append(" <postprocessor name=\"BiasedWeights\" param=\"0.5\" />\n");
-        configFile.append(" <eval name=\"NormalWekaEvaluation\" param=\"\" />\n");
-        
-        postamble(configFile);
-        return configFile.toString();
-    }
-    
-    public static String ZHe13(Dataset dataset) {
-        StringBuilder configFile = new StringBuilder();
-        preamble(configFile);
-        dataset(configFile, dataset);
-        trainersBagging(configFile);
         
         int numNeighbors;
@@ -437,19 +559,43 @@
             case AEEEM_LDHHWCHU:
             case AEEEM_WCHU:
+            case AEEEM_NUMERIC:
+            case AEEEM_LDHH_NUMERIC:
+            case AEEEM_LDHHWCHU_NUMERIC:
+            case AEEEM_WCHU_NUMERIC:
+            case AEEEM_LDHHWCHU_EFFNORM:
+            case AEEEM_LDHHWCHU_EFFLOGNORM:
+            case AEEEM_LDHHWCHU_EFFNORM_NUMERIC:
+            case AEEEM_LDHHWCHU_EFFLOGNORM_NUMERIC:
+            case AEEEM_LDHHWCHU_NUMERIC_DUPLICATE:
+            case AEEEM_LDHHWCHU_NUMERIC_WEIGHTS:
+                numNeighbors = 2;
+                break;
+            case MDP:
+            case MDP_EFFNORM:
+            case MDP_EFFLOGNORM:
+                numNeighbors = 5;
+                break;
+            case JURECZKO:
+            case JURECZKO_NUMERIC:
+            case JURECZKO_EFFNORM:
+            case JURECZKO_EFFLOGNORM:
+            case JURECZKO_EFFNORM_NUMERIC:
+            case JURECZKO_EFFLOGNORM_NUMERIC:
+            case JURECZKO_NUMERIC_DUPLICATE:
+            case JURECZKO_NUMERIC_WEIGHTS:
+                numNeighbors = 30;
+                break;
+            case FILTERJURECZKO:
+                numNeighbors = 20;
+                break;
+            case RELINK:
+            case RELINK_EFFNORM:
+            case RELINK_EFFLOGNORM:
                 numNeighbors = 1;
                 break;
-            case MDP:
-                numNeighbors = 4;
-                break;
-            case JURECZKO:
-                numNeighbors = 16;
-                break;
-            case FILTERJURECZKO:
-                numNeighbors = 13;
-                break;
-            case RELINK:
-                numNeighbors = 1;
-                break;
             case NETGENE:
+            case NETGENE_NUMERIC:
+            case NETGENE_NUMERIC_DUPLICATE:
+            case NETGENE_NUMERIC_WEIGHTS:
                 numNeighbors = 1;
                 break;
@@ -460,4 +606,75 @@
             case SMARTSHARK_AST:
             case SMARTSHARK_SM:
+            case SMARTSHARK_ALL_NUMERIC:
+                // TODO check num neighbors
+            default:
+                numNeighbors = 10;
+                break;
+        }
+        
+        configFile.append(" <setwisepreprocessor name=\"Normalization\" param=\"\" />\n");
+        configFile.append(" <setwiseselector name=\"SetWiseKNNSelection\" param=\""+ numNeighbors +"\" />\n");
+        configFile.append(" <postprocessor name=\"BiasedWeights\" param=\"0.5\" />\n");
+        configFile.append(" <eval name=\"NormalWekaEvaluation\" param=\"\" />\n");
+        
+        postamble(configFile);
+        return configFile.toString();
+    }
+    
+    public static String ZHe13(Dataset dataset) {
+        StringBuilder configFile = new StringBuilder();
+        preamble(configFile);
+        dataset(configFile, dataset);
+        trainersBagging(configFile);
+        
+        int numNeighbors;
+        switch (dataset)
+        {
+            case AEEEM:
+            case AEEEM_LDHH:
+            case AEEEM_LDHHWCHU:
+            case AEEEM_WCHU:
+            case AEEEM_NUMERIC:
+            case AEEEM_LDHH_NUMERIC:
+            case AEEEM_LDHHWCHU_NUMERIC:
+            case AEEEM_WCHU_NUMERIC:
+            case AEEEM_LDHHWCHU_EFFNORM:
+            case AEEEM_LDHHWCHU_EFFLOGNORM:
+            case AEEEM_LDHHWCHU_EFFNORM_NUMERIC:
+            case AEEEM_LDHHWCHU_EFFLOGNORM_NUMERIC:
+                numNeighbors = 1;
+                break;
+            case MDP:
+            case MDP_EFFNORM:
+            case MDP_EFFLOGNORM:
+                numNeighbors = 4;
+                break;
+            case JURECZKO:
+            case JURECZKO_NUMERIC:
+            case JURECZKO_EFFNORM:
+            case JURECZKO_EFFLOGNORM:
+            case JURECZKO_EFFNORM_NUMERIC:
+            case JURECZKO_EFFLOGNORM_NUMERIC:
+                numNeighbors = 16;
+                break;
+            case FILTERJURECZKO:
+                numNeighbors = 13;
+                break;
+            case RELINK:
+            case RELINK_EFFNORM:
+            case RELINK_EFFLOGNORM:
+                numNeighbors = 1;
+                break;
+            case NETGENE:
+            case NETGENE_NUMERIC:
+                numNeighbors = 1;
+                break;
+            case SELECTEDJURECZKO:
+                numNeighbors = 4;
+                break;
+            case SMARTSHARK_ALL:
+            case SMARTSHARK_AST:
+            case SMARTSHARK_SM:
+            case SMARTSHARK_ALL_NUMERIC:
                 // TODO check num neighbors
             default:
