code: @SuppressWarnings("unchecked")
    public <T extends Entry<T>> T acquire(Class<T> type, long index) {
      ReferencePool<T> pool = (ReferencePool<T>) pools.get(type);
      if (pool == null) {
        try {
          Constructor<T> c = type.getConstructor(ReferenceManager.class);
          c.setAccessible(true);
          pool = new ReferencePool<>((r) -> {
            try {
              return c.newInstance(r);
            } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
              throw new StorageException(e);
            }
          });
        }
docs: Acquires a specific entry type.