boolean subRule(OWLIndividual node)
	{
		boolean changed = false;
		HashSet<OWLClassExpression> labels = nodeLabels.get(node);
		
		HashSet<OWLClassExpression> toAdd = new HashSet<OWLClassExpression>();
		for(OWLClassExpression exp:labels)
			if(exp  instanceof OWLClass)
			{
				OWLClass atomic = (OWLClass) exp;
				for(OWLOntology onto:ontologies)
					for(OWLSubClassOfAxiom ax:onto.getSubClassAxiomsForSubClass(atomic))
//				for(OWLClassExpression superClass:atomic.getSuperClasses(ontologies))
				{
					if(!labels.contains(ax.getSuperClass().getNNF()))
					{
						toAdd.add(ax.getSuperClass().getNNF());
						changed = true;
					}
				}
			}
		
		labels.addAll(toAdd);
		
		return changed;		
	}