code: private synchronized void removeTail() {
  
          I_CmsLruCacheObject oldTail = m_listTail;
          if (oldTail != null) {
              I_CmsLruCacheObject newTail = oldTail.getNextLruObject();
  
              // set the list pointers correct
              if (newTail != null) {
                  // there are still objects remaining in the list
                  newTail.setPreviousLruObject(null);
                  m_listTail = newTail;
              } else {
                  // we removed the last object from the list
                  m_listTail = null;
                  m_listHead = null;
              }
  
              // update cache stats. and notify the cached object
              decreaseCache(oldTail);
          }
      }
docs: Removes the tailing object from the list of all cached objects.<p>