}
}
for(SatOp so : satOps) { // second pass adds edges and attributes, sets highest parent (if any)
if(isElementaryPredication(so)) {
Nominal soNom = so.getNominal();
LFVertex source = g.findVertexByNominal(soNom);
// check if node is not yet added (not a lex. pred.)
if(source == null) {
source = new LFVertex(soNom);
g.addVertex(source);
}
if(isLexPred(so)) {
Nominal parent = ancestorMap.get(source.nominal);
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);