String stringValue = null;
if (value == null) {
stringValue = null;
} else if (value instanceof Descriptor) {
Descriptor descriptor = (Descriptor) value;
LanguageElement elementValue = ReportHelper.getLanguageElement(descriptor);
if (elementValue != null) {
xmlStreamWriter.writeStartElement("element");
xmlStreamWriter.writeAttribute("language", elementValue.getLanguage());
xmlStreamWriter.writeCharacters(elementValue.name());
xmlStreamWriter.writeEndElement(); // element
SourceProvider sourceProvider = elementValue.getSourceProvider();
stringValue = sourceProvider.getName(descriptor);
FileDescriptor sourceFile = sourceProvider.getSourceFile(descriptor);
Integer lineNumber = sourceProvider.getLineNumber(descriptor);
if (sourceFile != null) {
xmlStreamWriter.writeStartElement("source");