String (@NotNull String indent) { int stopCount = RAINBOW_COLOR_KEYS.length; StringBuilder sb = new StringBuilder(); sb.append(indent).append(AnalysisBundle.message("color.settings.rainbow.demo.header.1")) .append(indent).append(AnalysisBundle.message("color.settings.rainbow.demo.header.2")) .append(indent); String tagRainbow = RAINBOW_GRADIENT_DEMO.getExternalName(); boolean needLineBreak = true; for (int i = 0; i < RAINBOW_TEMP_KEYS.length; ++i) { sb.append(" "); sb.append("<").append(tagRainbow).append(">"); String anchor = String.valueOf(i / stopCount + 1); String minor = String.valueOf(i % stopCount); sb.append(i % stopCount == 0 ? "Color#" + anchor : "SC" + anchor + "." + minor); sb.append("</").append(tagRainbow).append(">"); if (needLineBreak && i == RAINBOW_TEMP_KEYS.length / 2) { sb.append(indent); needLineBreak = false; //noinspection AssignmentToForLoopParameter --i; } } return sb.toString(); }