List<HGNode> originalAntNodes = originalEdge.getAntNodes();
if(originalAntNodes!=null){
if(originalAntNodes.size()==1){//arity: one
HGNode it = originalAntNodes.get(0);
List<RefinedNode> virtualItems = splitRefinedNodesTbl.get(it);
for(RefinedNode antVirtualItem: virtualItems){
ArrayList<HGNode> antRefinedNodes = new ArrayList<HGNode>();//used in combination
antRefinedNodes.add(antVirtualItem);
handleOneCombination(originalParentHGNode, originalEdge, antRefinedNodes, refinedNodeSigs);
}
}else if(originalAntNodes.size()==2){//arity: two
HGNode it1 = originalAntNodes.get(0);
HGNode it2 = originalAntNodes.get(1);
List<RefinedNode> virtualItems1 = splitRefinedNodesTbl.get(it1);
List<RefinedNode> virtualItems2 = splitRefinedNodesTbl.get(it2);
/*if(virtualItems1.size()>1 && virtualItems2.size()>1){
System.out.println("virtualItems1.size " + virtualItems1.size());