movable = true;
if (!variableDescriptor.isValueRangeEntityIndependent()) {
ValueRangeDescriptor valueRangeDescriptor = variableDescriptor.getValueRangeDescriptor();
Solution workingSolution = scoreDirector.getWorkingSolution();
for (Object rightEntity : rightPillar) {
ValueRange rightValueRange = valueRangeDescriptor.extractValueRange(workingSolution, rightEntity);
if (!rightValueRange.contains(leftValue)) {
return false;
}
}
for (Object leftEntity : leftPillar) {
ValueRange leftValueRange = valueRangeDescriptor.extractValueRange(workingSolution, leftEntity);
if (!leftValueRange.contains(rightValue)) {
return false;
}
}
}
}