class AbstractCache implements IDataCache<T> {

  @Override
  public long getFreeSpace() {
    return maxCacheSize - getCurrentCacheSize();
  }

  public  AbstractCache(S entries, IDataStorage<T> cachedStorage, long maxCacheSize,
      Predicate<T> cachingRule);

}