@Override
  public void setValue(@NotNull T newValue) {
    if (!newValue.equals(getDefaultValue()) && !isValid(newValue)) {
      newValue = getDefaultValue();
    }
    setValueText(valueToString(newValue));
  }
@Override
  public void setValue(@NotNull T newValue)