public boolean setScale(@NotNull Scale scale) {
    if (isScaleOverridden(scale)) {
      return false;
    }

    boolean updated = false;
    switch (scale.type) {
      case USR_SCALE -> {
        updated = !usrScale.equals(scale);
        usrScale = scale;
      }
      case OBJ_SCALE -> {
        updated = !objScale.equals(scale);
        objScale = scale;
      }
      case SYS_SCALE -> {
        return false;
      }
    }
    return onUpdated(updated);
  }
public boolean setScale(@NotNull Scale scale)