code: private IntVar getEarlyVar() {
          IntVar earlyVar = null;
          for (int i = stays.nextSetBit(0); i >= 0; i = stays.nextSetBit(i + 1)) {
              if (starts[i] != null && !starts[i].isInstantiated()) {
                  if (earlyVar == null) {
                      earlyVar = starts[i];
                  } else {
                      if (earlyVar.getLB() > starts[i].getLB()) {
                          earlyVar = starts[i];
                      }
                  }
              }
          }
          return earlyVar;
      }
docs: Get the earliest un-instantiated start moment
  
  @return the variable, or {@code null} if all the start moments are already instantiated