class GrainProperties {

    public Map<Map.Entry<String, String>, Collection<String>> getHostsPerGrainMap() {
        ArrayListMultimap<Map.Entry<String, String>, String> multimap = ArrayListMultimap.create();
        getProperties().forEach((host, grainMap) -> grainMap.entrySet().forEach(grain -> multimap.put(grain, host)));
        return multimap.asMap();
    }

}