docs: private void trimToSize(int maxSize) {
  		while (true) {
  			String key;
  			Bitmap value;
  			synchronized (this) {
  				if (size < 0 || (map.isEmpty() && size != 0)) {
  					throw new IllegalStateException(getClass().getName() + ".sizeOf() is reporting inconsistent results!");
  				}
  
  				if (size <= maxSize || map.isEmpty()) {
  					break;
  				}
  
  				Map.Entry<String, Bitmap> toEvict = map.entrySet().iterator().next();
  				if (toEvict == null) {
  					break;
  				}
  				key = toEvict.getKey();
  				value = toEvict.getValue();
  				map.remove(key);
  				size -= sizeOf(key, value);
  			}
  		}
  	}