code: public <T> Future<T> getDataFromCache(final Class<T> clazz, final Object cacheKey) throws CacheLoadingException {
          return executeCommand(new GetDataFromCacheCommand<T>(this, clazz, cacheKey));
      }
docs: Get some data previously saved in cache with key <i>requestCacheKey</i>.
  This method doesn't perform any network processing, it just checks if
  there are previously saved data. Don't call this method in the main
  thread because you could block it. Instead, use the asynchronous version
  of this method:
  {@link #getFromCache(Class, Object, long, RequestListener)}.
  @param clazz
  the class of the result to retrieve from cache.
  @param cacheKey
  the key used to store and retrieve the result of the request
  in the cache
  @return a future object that will hold data in cache. Calling get on this
  future will block until the data is actually effectively taken
  from cache.
  @throws CacheLoadingException
  Exception thrown when a problem occurs while loading data
  from cache.