@Nullable
  private static EffectQuantum getChangeQuantum(DataValue value) {
    if (value == DataValue.ThisDataValue || value == DataValue.OwnedDataValue) {
      return EffectQuantum.ThisChangeQuantum;
    }
    if (value == DataValue.LocalDataValue) {
      return null;
    }
    if (value instanceof DataValue.ParameterDataValue) {
      return new EffectQuantum.ParamChangeQuantum(((DataValue.ParameterDataValue)value).n);
    }
    if (value instanceof DataValue.ReturnDataValue) {
      return new EffectQuantum.ReturnChangeQuantum(((DataValue.ReturnDataValue)value).key);
    }
    return EffectQuantum.TopEffectQuantum;
  }
@Nullable
  private static EffectQuantum getChangeQuantum(DataValue value)