private void remove(String name, List<KnapsackState> values, KnapsackState targetValue)
     throws IOException {
   logger.debug("remove: {} -> {}", name, values);
   ImmutableList.Builder<KnapsackState> updatedValues = ImmutableList.builder();
   for (KnapsackState value : values) {
     if (!value.equals(targetValue)) {
       updatedValues.add(value);
     }
   }
   put(name, generate(updatedValues.build()));
 }