@Override
  protected @NotNull String buildErrorString(Object... infos) {
    final List<PsiField> fields = (List<PsiField>)infos[0];
    if (fields.size() == 1) {
      return InspectionGadgetsBundle.message("copy.constructor.misses.field.problem.descriptor.1", fields.get(0).getName());
    }
    else if (fields.size() == 2) {
      return InspectionGadgetsBundle.message("copy.constructor.misses.field.problem.descriptor.2",
                                             fields.get(0).getName(), fields.get(1).getName());
    }
    else if (fields.size() == 3) {
      return InspectionGadgetsBundle.message("copy.constructor.misses.field.problem.descriptor.3",
                                             fields.get(0).getName(), fields.get(1).getName(), fields.get(2).getName());
    }
    return InspectionGadgetsBundle.message("copy.constructor.misses.field.problem.descriptor.many", fields.size());
  }
@Override
  protected @NotNull String buildErrorString(Object... infos)