protected boolean containsSubsetOfNUnequalNodes(Node forNode,List<Node> nodes,int startAt,List<Node> selectedNodes,int cardinality) {
if (selectedNodes.size()==cardinality)
return true;
else {
outer: for (int index=startAt;index<nodes.size();index++) {
Node node=nodes.get(index);
for (int selectedNodeIndex=0;selectedNodeIndex<selectedNodes.size();selectedNodeIndex++) {
Node selectedNode=selectedNodes.get(selectedNodeIndex);
if (!m_extensionManager.containsAssertion(Inequality.INSTANCE,node,selectedNode) && !m_extensionManager.containsAssertion(Inequality.INSTANCE,selectedNode,node))
continue outer;
}
selectedNodes.add(node);
if (containsSubsetOfNUnequalNodes(forNode,nodes,index+1,selectedNodes,cardinality))