private static @Nullable Color getColor(@Nullable String methodName, @NotNull PsiExpressionList argumentList) {
    if (methodName == null) return null;
    Object[] values = getArgumentValues(argumentList.getExpressions());
    return switch (methodName) {
      case COLOR -> switch (values.length) {
        case 4 -> getScaledRgbColor(values[0], values[1], values[2], values[3]);
        case 3 -> getScaledRgbColor(values[0], values[1], values[2], Double.valueOf(1));
        default -> null;
      };
      case RGB -> switch (values.length) {
        case 4 -> getRgbColor(values[0], values[1], values[2], values[3]);
        case 3 -> getRgbColor(values[0], values[1], values[2], Double.valueOf(1));
        default -> null;
      };
      case GRAY -> switch (values.length) {
        case 2 -> getScaledRgbColor(values[0], values[0], values[0], values[1]);
        case 1 -> getScaledRgbColor(values[0], values[0], values[0], Double.valueOf(1));
        default -> null;
      };
      case GRAY_RGB -> switch (values.length) {
        case 2 -> getRgbColor(values[0], values[0], values[0], values[1]);
        case 1 -> getRgbColor(values[0], values[0], values[0], Double.valueOf(1));
        default -> null;
      };
      case HSB -> switch (values.length) {
        case 4 -> getHsbColor(values[0], values[1], values[2], values[3]);
        case 3 -> getHsbColor(values[0], values[1], values[2], Double.valueOf(1));
        default -> null;
      };
      default -> null;
    };
  }
private static @Nullable Color getColor(@Nullable String methodName, @NotNull PsiExpressionList argumentList)