code: public void setMaxSize(long maxSize) {
  		// if the new maxSize is <= 0, clear keyLRUList
  		if (maxSize <= 0) {
  			keyLRUList.clear();
  		} else if (maxSize > 0 && this.maxSize <= 0) {
  			// if the new maxSize > 0 and the old is <= 0, fill in LRU list -
  			// order will be meaningless for now
  			Iterator keys = cacheLineTable.keySet().iterator();
  
  			while (keys.hasNext()) {
  				keyLRUList.add(keys.next());
  			}
  		}
  
  		// if the new maxSize is less than the current cache size, shrink the
  		// cache.
  		if (maxSize > 0 && cacheLineTable.size() > maxSize) {
  			while (cacheLineTable.size() > maxSize) {
  				Object lastKey = keyLRUList.getLast();
  
  				removeObject(lastKey);
  			}
  		}
  
  		this.maxSize = maxSize;
  	}
docs: Sets the maximum number of elements in the cache. If 0, there is no
  maximum.
  
  @param maxSize
  The maximum number of elements in the cache