if (arg1.getAddress() == null || arg2.getAddress() == null) {
featureValue.setIndexCode(table.getNullValueCode(NullValueId.NO_NODE));
featureValue.setSymbol(table.getNullValueSymbol(NullValueId.NO_NODE));
featureValue.setNullValue(true);
} else {
final DependencyNode node1 = (DependencyNode)arg1.getAddress();
final DependencyNode node2 = (DependencyNode)arg2.getAddress();
int head1 = -1;
int head2 = -1;
if ( node1.hasHead() )
{
head1 = node1.getHead().getIndex(); //lines below don't seem to work
//head1 = Integer.parseInt(node1.getHeadEdgeLabelSymbol(column.getSymbolTable()));
//if ( node1.hasHeadEdgeLabel(column.getSymbolTable()) )
// head1 = Integer.parseInt(node1.getHeadEdgeLabelSymbol(column.getSymbolTable()));
}
if ( node2.hasHead() )
{
head2 = node2.getHead().getIndex(); //lines below don't seem to work
//head2 = Integer.parseInt(node2.getHeadEdgeLabelSymbol(column.getSymbolTable()));
//if ( node2.hasHeadEdgeLabel(column.getSymbolTable()) )
// head2 = Integer.parseInt(node2.getHeadEdgeLabelSymbol(column.getSymbolTable()));
}
if (!node1.isRoot() && head1 == node2.getIndex()) {
featureValue.setIndexCode(table.getSymbolStringToCode("LEFT"));
featureValue.setSymbol("LEFT");
featureValue.setNullValue(false);
} else if (!node2.isRoot() && head2 == node1.getIndex()) {
featureValue.setIndexCode(table.getSymbolStringToCode("RIGHT"));
featureValue.setSymbol("RIGHT");
featureValue.setNullValue(false);
} else {
featureValue.setIndexCode(table.getNullValueCode(NullValueId.NO_NODE));