code: protected void addIssue(final JvmDeclaredType type, final String fileName) {
      StringConcatenation _builder = new StringConcatenation();
      _builder.append("The type ");
      String _simpleName = type.getSimpleName();
      _builder.append(_simpleName);
      _builder.append(" is already defined");
      {
        if ((fileName != null)) {
          _builder.append(" in ");
          _builder.append(fileName);
        }
      }
      _builder.append(".");
      final String message = _builder.toString();
      final EObject sourceElement = this.associations.getPrimarySourceElement(type);
      if ((sourceElement == null)) {
        this.addIssue(message, type, IssueCodes.DUPLICATE_TYPE);
      } else {
        final EStructuralFeature feature = sourceElement.eClass().getEStructuralFeature("name");
        this.addIssue(message, sourceElement, feature, IssueCodes.DUPLICATE_TYPE);
      }
    }
docs: Marks a type as already defined.
  
  @param type - the type to mark already defined.
  @param fileName - a file where the type is already defined.
  If fileName is null this information will not be part of the message.