Color (boolean selected) { final Color cached; if (selected) { cached = myCachedSelectedBorderColor; } else { cached = myCachedNormalBorderColor; } if (cached != null) { return cached; } Color result = null; if (myColorsAware != null) { result = myColorsAware.getBorderColor(EditorColorsManager.getInstance().getGlobalScheme(), selected); } if (result == null) { result = selected ? myDefaultSelectedBorderColor : myDefaultNormalBorderColor; } if (selected) { myCachedSelectedBorderColor = result; } else { myCachedNormalBorderColor = result; } return result; }