int layer = GNodes.layers[orig];
int value = GArcs.values[arcId];
if (layer < starts.length) {
StoredIndexedBipartiteSetWithOffset support = getSupport(layer, value);
support.remove(arcId);
if (support.isEmpty()) {
IntVar var = propagator.getVar(layer);
var.removeValue(value, aCause);
}
}
StoredIndexedBipartiteSetWithOffset out = GNodes.outArcs[orig];
StoredIndexedBipartiteSetWithOffset in;
out.remove(arcId);
in = GNodes.inArcs[dest];
in.remove(arcId);
if (GNodes.nextSP.quickGet(orig) == arcId || GNodes.nextLP.quickGet(orig) == arcId) {
updateRight(orig, toRemove, propagator);
}