@Override
  public void applyConditioned(Condition<? super Value> c, Map<Value, Object> backup) {
    for (Value value: myValues) {
      if (c.value(value)) {
        value.write(false);
      } else {
        value.value = backup.get(value);
        value.write(false);
      }
    }
  }
@Override
  public void applyConditioned(Condition<? super Value> c, Map<Value, Object> backup)