code: protected boolean filterLoadSup(int dim, int bin, int newLoadSup) throws ContradictionException {
          int delta = newLoadSup - loads[dim][bin].getUB();
          if (delta >= 0) {
              return false;
          }
          loads[dim][bin].updateUpperBound(newLoadSup, this);
          if (sumISizes[dim] > sumLoadSup[dim].add(delta)) {
              fails();
          }
          return true;
      }
docs: update sup(binLoad) and sumLoadSup accordingly
  
  @param dim        the dimension
  @param bin        the bin
  @param newLoadSup the new lower bound value
  @return if the upper bound has actually been updated
  @throws ContradictionException if the domain of the bin load variable becomes empty