}
variable.m_forbiddenDataValues.clear();
List<DatatypeRestriction> positiveDatatypeRestrictions=variable.m_positiveDatatypeRestrictions;
for (int index=positiveDatatypeRestrictions.size()-1;!explicitDataValues.isEmpty() && index>=0;--index) {
DatatypeRestriction positiveDatatypeRestriction=positiveDatatypeRestrictions.get(index);
ValueSpaceSubset valueSpaceSubset=DatatypeRegistry.createValueSpaceSubset(positiveDatatypeRestriction);
eliminateDataValuesUsingValueSpaceSubset(valueSpaceSubset,explicitDataValues,false);
}
List<DatatypeRestriction> negativeDatatypeRestrictions=variable.m_negativeDatatypeRestrictions;
for (int index=negativeDatatypeRestrictions.size()-1;!explicitDataValues.isEmpty() && index>=0;--index) {
DatatypeRestriction negativeDatatypeRestriction=negativeDatatypeRestrictions.get(index);
ValueSpaceSubset valueSpaceSubset=DatatypeRegistry.createValueSpaceSubset(negativeDatatypeRestriction);
eliminateDataValuesUsingValueSpaceSubset(valueSpaceSubset,explicitDataValues,true);
}
if (explicitDataValues.isEmpty())
setClashFor(variable);
}