public static GraphFilter getCorrectFilter(ArrayX<String> filter) {
        GraphFilter gf = null;
        if (filter.getValue().equals(Filters.Integral)) {
            gf = new IntegralFilter();
        } else if (filter.getValue().equals(Filters.LaplacianIntegral)) {
            gf = new LaplacianIntegralFilter();
        } else if (filter.getValue().equals(Filters.QIntegral)) {
            gf = new QIntegralFilter();
        } else if (filter.getValue().equals(Filters.ChemTree)) {
            gf = new ChemTreeFilter();
        } else if (filter.getValue().equals(Filters.MinDeg2)) {
            gf = new MinDeg2Filter();
        } else if (filter.getValue().equals(Filters.Unicyclic)) {
            gf = new UnicyclicGraph();
        } else if (filter.getValue().equals(Filters.Bicyclic)) {
            gf = new BicyclicGraph();
        } else if (filter.getValue().equals(Filters.Tricyclic)) {
            gf = new TricyclicGraph();
        }
        return gf;
    }