void (final PsiVariable variable, final StringBuilder buffer) { final PsiExpression initializer = variable.getInitializer(); if (initializer != null) { final PsiType type = initializer.getType(); if (type != null && "java.awt.Color".equals(type.getCanonicalText())) { if (initializer instanceof PsiNewExpression) { final PsiExpressionList argumentList = ((PsiNewExpression) initializer).getArgumentList(); if (argumentList != null) { final PsiExpression[] expressions = argumentList.getExpressions(); int[] values = ArrayUtil.newIntArray(expressions.length); float[] values2 = new float[expressions.length]; int i = 0; int j = 0; final PsiConstantEvaluationHelper helper = JavaPsiFacade.getInstance(initializer.getProject()).getConstantEvaluationHelper(); for (final PsiExpression each : expressions) { final Object o = helper.computeConstantExpression(each); if (o instanceof Integer) { values[i] = ((Integer) o).intValue(); values[i] = values[i] > 255 && expressions.length > 1 ? 255 : Math.max(values[i], 0); i++; } else if (o instanceof Float) { values2[j] = ((Float) o).floatValue(); values2[j] = values2[j] > 1 ? 1 : values2[j] < 0 ? 0 : values2[j]; j++; } } Color c = null; if (i == expressions.length) { c = switch (values.length) { case 1 -> new Color(values[0]); case 3 -> new Color(values[0], values[1], values[2]); case 4 -> new Color(values[0], values[1], values[2], values[3]); default -> null; }; } else if (j == expressions.length) { c = switch (values2.length) { case 3 -> new Color(values2[0], values2[1], values2[2]); case 4 -> new Color(values2[0], values2[1], values2[2], values2[3]); default -> null; }; } if (c != null) { buffer.append(generatePreviewHtml(c)); } } } else if (initializer instanceof PsiReferenceExpression) { final PsiReference reference = initializer.getReference(); if (reference != null && reference.resolve() instanceof PsiField psiField) { final PsiClass psiClass = psiField.getContainingClass(); if (psiClass != null && "java.awt.Color".equals(psiClass.getQualifiedName())) { Color c = ReflectionUtil.getStaticFieldValue(Color.class, Color.class, psiField.getName()); if (c != null) { buffer.append(generatePreviewHtml(c)); } } } } } } }