@Override
  protected @NotNull String buildErrorString(Object... infos) {
    final PsiElement element = (PsiElement)infos[0];
    @SuppressWarnings("unchecked") final Collection<PsiClass> weakerClasses = (Collection<PsiClass>)infos[1];
    final @NonNls StringBuilder builder = new StringBuilder();
    final Iterator<PsiClass> iterator = weakerClasses.iterator();
    if (iterator.hasNext()) {
      builder.append('\'').append(getClassName(iterator.next())).append('\'');
      while (iterator.hasNext()) {
        builder.append(", '").append(getClassName(iterator.next())).append('\'');
      }
    }
    if (element instanceof PsiField) {
      return InspectionGadgetsBundle.message("inspection.type.may.be.weakened.field.problem.descriptor",
                                             builder.toString());
    }
    if (element instanceof PsiParameter) {
      return InspectionGadgetsBundle.message("inspection.type.may.be.weakened.parameter.problem.descriptor",
                                             builder.toString());
    }
    if (element instanceof PsiMethod) {
      return InspectionGadgetsBundle.message("inspection.type.may.be.weakened.method.problem.descriptor",
                                             builder.toString());
    }
    return InspectionGadgetsBundle.message("inspection.type.may.be.weakened.problem.descriptor", builder.toString());
  }
@Override
  protected @NotNull String buildErrorString(Object... infos)