public @Nullable Color getClosestNonConflictingColor(@NotNull Color sampleColor, @NotNull Function<? super Color, ? extends Color> colorAdjuster) {
    if (myColors.containsKey(sampleColor)) {
      Color newColor = colorAdjuster.fun(sampleColor);
      return !sampleColor.equals(newColor) ? getClosestNonConflictingColor(newColor, colorAdjuster) : null;
    }
    return sampleColor;
  }
public @Nullable Color getClosestNonConflictingColor(@NotNull Color sampleColor, @NotNull Function<? super Color, ? extends Color> colorAdjuster)