docs: public boolean isValidAssignment(DynamicAssignment assignment) {
      if (!fixedVariables.isValidAssignment(assignment.getFixedAssignment())) {
        return false;
      }
  
      for (int i = 0; i < plateNames.size(); i++) {
        List<DynamicAssignment> plateValues = assignment.getPlateValue(plateNames.get(i));
        for (DynamicAssignment plateValue : plateValues) {
          if (!plates.get(i).isValidAssignment(plateValue)) {
            return false;
          }
        }
      }
      return true;
    }