}
Iterator<ColumnDescription> columns = dataFormatInstance.iterator();
for (int i : syntaxGraph.getTokenIndices()) {
try {
ColumnDescription column = null;
while (columns.hasNext()) {
column = columns.next();
if (column.getCategory() == ColumnDescription.INPUT) { // && column.getType() != ColumnDescription.IGNORE) {
TokenNode node = syntaxGraph.getTokenNode(i);
if (!column.getName().equals("ID")) {
if (node.hasLabel(column.getSymbolTable())) {
output.append(node.getLabelSymbol(column.getSymbolTable()));
if (output.length() != 0) {
writer.write(output.toString());
} else {
writer.write('_');
}
} else {
writer.write('_');
}
} else {
writer.write(Integer.toString(i));
}
} else if (column.getCategory() == ColumnDescription.HEAD /* && column.getType() != ColumnDescription.IGNORE */&& syntaxGraph instanceof DependencyStructure) {
if (((DependencyStructure)syntaxGraph).getDependencyNode(i).hasHead()) {
writer.write(Integer.toString(((DependencyStructure)syntaxGraph).getDependencyNode(i).getHead().getIndex()));
} else {
writer.write(Integer.toString(0));
}
} else if (column.getCategory() == ColumnDescription.DEPENDENCY_EDGE_LABEL /* && column.getType() != ColumnDescription.IGNORE */ && syntaxGraph instanceof DependencyStructure) {
if (((DependencyStructure)syntaxGraph).getDependencyNode(i).hasHead() && ((DependencyStructure)syntaxGraph).getDependencyNode(i).hasHeadEdgeLabel(column.getSymbolTable())) {
output.append(((DependencyStructure)syntaxGraph).getDependencyNode(i).getHeadEdgeLabelSymbol(column.getSymbolTable()));
} else {
output.append(((DependencyStructure)syntaxGraph).getDefaultRootEdgeLabelSymbol(column.getSymbolTable()));
}
if (output.length() != 0) {
writer.write(output.toString());
}
} else {
writer.write(column.getDefaultOutput());
}
if (columns.hasNext()) {
writer.write(TAB);
}
output.setLength(0);