code: private void printTerms(PrintStream out, TermedDocument termedDocument,
  			EntityIdValue entityIdValue, String specialLabel) {
  		String label = specialLabel;
  		String description = "-";
  
  		if (termedDocument != null) {
  			if (label == null) {
  				MonolingualTextValue labelValue = termedDocument.getLabels()
  						.get("en");
  				if (labelValue != null) {
  					label = csvStringEscape(labelValue.getText());
  				}
  			}
  			MonolingualTextValue descriptionValue = termedDocument
  					.getDescriptions().get("en");
  			if (descriptionValue != null) {
  				description = csvStringEscape(descriptionValue.getText());
  			}
  		}
  
  		if (label == null) {
  			label = entityIdValue.getId();
  		}
  
  		out.print(entityIdValue.getId() + "," + label + "," + description + ","
  				+ entityIdValue.getIri());
  	}
docs: Prints the terms (label, etc.) of one entity to the given stream. This
  will lead to several values in the CSV file, which are the same for
  properties and class items.
  
  @param out
  the output to write to
  @param termedDocument
  the document that provides the terms to write
  @param entityIdValue
  the entity that the data refers to.
  @param specialLabel
  special label to use (rather than the label string in the
  document) or null if not using; used by classes, which need to
  support disambiguation in their labels