code: public synchronized Reallocator<T> getReallocator() {
      if (allocator == null) {
        return null;
      }
      if (allocator instanceof Reallocator) {
        return (Reallocator<T>) allocator;
      }
      return new ReallocatingAdaptor<>((Allocator<T>) allocator);
    }
docs: Get the configured {@link stormpot.Allocator} instance as a
  {@link stormpot.Reallocator}. If the configured allocator implements the
  Reallocator interface, then it is returned directly. Otherwise, the
  allocator is wrapped in an adaptor.
  @return A configured or adapted Reallocator, if any.