code: private void updateDStartsInf(BitSet watchHosts) throws ContradictionException {
  
          for (int idx = 0; idx < vInSize.get(); idx++) {
              int i = vIn.quickGet(idx);
              if (!dStarts[i].isInstantiated() && !associatedToCSliceOnCurrentNode(i)) {
  
                  int lastT = -1;
                  for (int x = sortedMinProfile.length - 1; x >= 0; x--) {
                      int t = sortedMinProfile[x];
                      if (t <= dStarts[i].getLB()) {
                          break;
                      }
                      int prevT = sortedMinProfile[x - 1];
                      if (t <= dStarts[i].getUB()
                              && exceedCapacity(profilesMin, prevT, dUsages[i])) {
                          lastT = t;
                          break;
                      }
                  }
                  if (dStarts[i].updateLowerBound(Math.max(lastT, early.getLB()), aCause) && associateCTask[i] != NO_ASSOCIATIONS && dStarts[i].isInstantiated()) {
                      watchHosts.set(cHosters[associateCTask[i]].getValue());
                  }
              }
          }
      }
docs: TODO: detecter si la capacite totale permet de faire passer tout le monde (et mettre passif dans ce cas)