diff --git a/platform/analysis-impl/src/com/intellij/application/options/colors/ScopeAttributesUtil.java b/platform/analysis-impl/src/com/intellij/application/options/colors/ScopeAttributesUtil.java index 4466f6873325..530d7a096603 100644 --- a/platform/analysis-impl/src/com/intellij/application/options/colors/ScopeAttributesUtil.java +++ b/platform/analysis-impl/src/com/intellij/application/options/colors/ScopeAttributesUtil.java @@ -16,11 +16,21 @@ package com.intellij.application.options.colors; import com.intellij.openapi.editor.colors.TextAttributesKey; +import com.intellij.util.containers.ConcurrentFactoryMap; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class ScopeAttributesUtil { + @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") + private static final ConcurrentFactoryMap ourCache = new ConcurrentFactoryMap() { + @Nullable + @Override + protected TextAttributesKey create(String scope) { + return TextAttributesKey.find("SCOPE_KEY_" + scope); + } + }; @NotNull public static TextAttributesKey getScopeTextAttributeKey(@NotNull String scope) { - return TextAttributesKey.find("SCOPE_KEY_" + scope); + return ourCache.get(scope); } }