public List<Analyzer> getAnalyzers() {
        return getAnalyzers(AnalysisPhase.values());
    }
@Test
    public void testGetExperimentalAnalyzers() {
        AnalyzerService instance = new AnalyzerService(Thread.currentThread().getContextClassLoader(), getSettings());
        List<Analyzer> result = instance.getAnalyzers();
        String experimental = "CMake Analyzer";
        boolean found = false;
        boolean retiredFound = false;
        for (Analyzer a : result) {
            if (experimental.equals(a.getName())) {
                found = true;
            }
        }
        assertFalse("Experimental analyzer loaded when set to false", found);
        assertFalse("Retired analyzer loaded when set to false", retiredFound);

        getSettings().setBoolean(Settings.KEYS.ANALYZER_EXPERIMENTAL_ENABLED, true);
        instance = new AnalyzerService(Thread.currentThread().getContextClassLoader(), getSettings());
        result = instance.getAnalyzers();
        found = false;
        retiredFound = false;
        for (Analyzer a : result) {
            if (experimental.equals(a.getName())) {
                found = true;
            }
        }
        assertTrue("Experimental analyzer not loaded when set to true", found);
        assertFalse("Retired analyzer loaded when set to false", retiredFound);

        getSettings().setBoolean(Settings.KEYS.ANALYZER_EXPERIMENTAL_ENABLED, false);
        getSettings().setBoolean(Settings.KEYS.ANALYZER_RETIRED_ENABLED, true);
        instance = new AnalyzerService(Thread.currentThread().getContextClassLoader(), getSettings());
        result = instance.getAnalyzers();
        found = false;
        for (Analyzer a : result) {
            if (experimental.equals(a.getName())) {
                found = true;
            }
        }
        assertFalse("Experimental analyzer loaded when set to false", found);
    }