code: public long getMaximumTimeInStore()
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "getMaximumTimeInStore");
      long originalExpiryTime = super.getMaximumTimeInStore();
      long rejectTime = aih.getRCD().getRejectTimeout();
      if (originalExpiryTime == NEVER_EXPIRES)
      {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "getMaximumTimeInStore", Long.valueOf(rejectTime));
        return rejectTime;
      }
      else if (rejectTime == NEVER_EXPIRES)
      {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "getMaximumTimeInStore", Long.valueOf(originalExpiryTime));
        return originalExpiryTime;
      }
      else
      {
        // neither is NEVER_EXPIRES, so return the minimum of the two
        long min = originalExpiryTime < rejectTime?originalExpiryTime:rejectTime;
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "getMaximumTimeInStore", Long.valueOf(min));
        return min;
      }
    }
docs: Expiry at the Remote ME causes the message to be rejected by the
  Remote ME.