private void inferNewC_sub_r_D(REXClassExpressionImpl C, REXObjectPropertyExpressionImpl role, REXClassExpressionImpl D, boolean subsumption)
	{
		if(!D.predecessors.containsKey(role) || !D.predecessors.get(role).contains(C))
		{
			REXSubClassOfImpl newAxiom = factory.getREXSubClassOfSomeValuesFrom(C, role, D);
			if(newAxiom.tested)
				return;
			newAxiom.subsumption = subsumption;
			newAxiom.link = true;
			newAxiom.tested = true;
//			if(C == context)
//				context.localSchedule.add(newAxiom);
//			else
//			if(newAxiom.LHSQueue.compareAndSet(false, true))
			{
				C.scheduleAdd(newAxiom);
				reasoner.addActiveContext(C);
			}
//			if(D == context)
//				context.localSchedule.add(newAxiom);
//			else
//			if(newAxiom.RHSFillerQueue.compareAndSet(false, true))
			{
				D.scheduleAdd(newAxiom);
				reasoner.addActiveContext(D);
			}
//			REL2ClassExpressionImpl some = factory.testREL2ObjectSomeValuesFrom(role, D);
//			if(subsumption && some != null)
//			{
//				if(some == context)
//					context.localSchedule.add(newAxiom);
//				else
//				{
//					some.scheduleAdd(newAxiom);
//					reasoner.addActiveContext(some);
//				}
//			}
		}
	}