Set<String> (@NotNull LanguageLevel languageLevel) { if (!ourPresentableShortMessage.containsKey(languageLevel)) return null; Reference<Set<String>> ref = ourForbiddenAPI.get(languageLevel); Set<String> result = dereference(ref); if (result == null) { String fileName = "api" + getShortMessage(languageLevel) + ".txt"; URL resource = LanguageLevelUtil.class.getResource(fileName); if (resource != null) { result = loadSignatureList(resource); } else { Logger.getInstance(LanguageLevelUtil.class).warn("File not found: " + fileName); result = Collections.emptySet(); } ourForbiddenAPI.put(languageLevel, new SoftReference<>(result)); } return result; }