void () { if (cache != null) return; final Collection<NonCodeMembersContributor> allTypeContributors = new ArrayList<>(); final MultiMap<String, NonCodeMembersContributor> contributorMap = new MultiMap<>(); for (final NonCodeMembersContributor contributor : EP_NAME.getExtensions()) { Collection<String> fqns = contributor.getClassNames(); if (fqns.isEmpty()) { allTypeContributors.add(contributor); } else { for (String fqn : fqns) { contributorMap.putValue(fqn, contributor); } } } cache = new Cache(contributorMap, allTypeContributors.toArray(new NonCodeMembersContributor[0])); }