code: private void findNextExpireTime()
      {
          if (objects.size() == 0)
          {
              nextTimeSomeExpired = NO_OBJECTS;
          }
          else
          {
              nextTimeSomeExpired = NO_OBJECTS;
              Collection<Long> longs = null;
              synchronized (objects)
              {
                  longs = new ArrayList(objectTimeStamps.values());
              }
              for (Iterator<Long> iterator = longs.iterator(); iterator.hasNext(); )
              {
                  Long next = iterator.next() + timeToLive;
                  if (nextTimeSomeExpired == NO_OBJECTS || next < nextTimeSomeExpired)
                  {
                      nextTimeSomeExpired = next;
                  }
              }
          }
      }
docs: Internal-use method, finds out when next object will expire and store this as nextTimeSomeExpired.
  If there's no items in cache - let's store NO_OBJECTS