public static synchronized String getEcosystem(String vendor, String product, String identifiedEcosystem) {
        final Pair<String, String> key = new Pair<>(vendor, product);
        final String current = cache.get(key);
        String result = null;
        if (current == null) {
            if (!StringUtils.isBlank(identifiedEcosystem)) {
                cache.put(key, identifiedEcosystem);
                changed.put(key, identifiedEcosystem);
                result = identifiedEcosystem;
            }
        } else if (MULTIPLE_ECOSYSTEMS_IDENTIFIED.equals(current)) {
            //do nothing - result is already null
        } else if (current.equals(identifiedEcosystem) || identifiedEcosystem == null) {
            result = current;
        } else {
            cache.put(key, MULTIPLE_ECOSYSTEMS_IDENTIFIED);
            changed.put(key, MULTIPLE_ECOSYSTEMS_IDENTIFIED);
        }
        return result;
    }
@Test
    public void testGetEcosystem() {
        Pair<String, String> key = new Pair<>("apache", "zookeeper");
        Map<Pair<String, String>, String> map = new HashMap<>();
        map.put(key, "java");
        CpeEcosystemCache.setCache(map);

        String expected = "java";
        String result = CpeEcosystemCache.getEcosystem("apache", "zookeeper", null);
        assertEquals(expected, result);
        
        //changes to MULTIPLE = which is returned as null
        result = CpeEcosystemCache.getEcosystem("apache", "zookeeper", "c++");
        assertNull(result);
        
        result = CpeEcosystemCache.getEcosystem("pivotal", "spring-framework", null);
        assertNull(result);
        
        expected = "java";
        result = CpeEcosystemCache.getEcosystem("pivotal", "spring-framework", "java");
        assertEquals(expected, result);
        
        expected = "java";
        result = CpeEcosystemCache.getEcosystem("pivotal", "spring-framework", "java");
        assertEquals(expected, result);
        
        result = CpeEcosystemCache.getEcosystem("microsoft", "word", null );
        assertNull(result);
        
        result = CpeEcosystemCache.getEcosystem("microsoft", "word", null );
        assertNull(result);
        
        result = CpeEcosystemCache.getEcosystem("microsoft", "word", "" );
        assertNull(result);
    }