if(parent != null) {
g.highestAncestorMap.put(source, g.findVertexByNominal(parent));
}
}
else if(isRelPred(so)) {
Diamond d = (Diamond)so.getArg();
Nominal dArg = (Nominal)d.getArg();
LFVertex target = g.findVertexByNominal(dArg);
if(target == null) {
target = new LFVertex(dArg);
g.addVertex(target);
}
g.addLabeledEdge(source, target, LFEdgeLabel.forMode(d.getMode()));
}
else if(isAttrPred(so)) {
Diamond d = (Diamond)so.getArg();
source.addAttribute(d.getMode(), (Proposition)d.getArg());
}
}
}
return g;