public void evaluateTighterInterval() {
    { IntervalCache interval = this;

      if ((interval.lowerBound != null) &&
          (interval.upperBound != null)) {
        if (Stella_Object.eqlP(interval.lowerBound, interval.upperBound)) {
          if (interval.strictLowerBoundP ||
              interval.strictUpperBoundP) {
            IntervalCache.signalIntervalClash(interval);
          }
          else {
            Proposition.equateValues(null, interval.intervalMember, interval.lowerBound);
          }
        }
        else {
          try {
            if (PlKernelKb.compareIntervalBoundsP(PlKernelKb.SGT_PL_KERNEL_KB_g, interval.lowerBound, interval.upperBound)) {
              IntervalCache.signalIntervalClash(interval);
            }
            if (interval.integerValuedMemberP()) {
              interval.evaluateTighterIntegerInterval();
            }
          } catch (IncompatibleQuantityException e000) {
            IntervalCache.signalIntervalClash(interval);
          }
        }
      }
      PlKernelKb.evaluateAdjacentInequalities(interval.intervalMember);
    }
  }