code: @SuppressWarnings("unchecked")
      protected <D> void evalResponse(Request request, Deferred<D> deferred, Class<D> resolveType,
                                      Class<?> parametrizedType, RawResponse response) {
          if (parametrizedType != null) {
              processor.process(request, response, parametrizedType, (Class<Collection>) resolveType,
                      (Deferred<Collection>) deferred);
          } else {
              processor.process(request, response, resolveType, deferred);
          }
      }
docs: Evaluates the response and resolves the deferred.
  This method must be called by implementations after the response is received.
  
  @param request           Dispatched request
  @param deferred          Promise to be resolved
  @param resolveType       Class of the expected type in the promise
  @param parametrizedType  Class of the parametrized type if the promise expects a collection
  @param response          The response received from the request
  @param <D>               Type of the deferred