/**
  * Method used for errors processing
  *
  * @param error error caused by this request
  */
 private void provideError(final VKError error) {
   error.request = this;
   if (requestListener != null) {
     requestListener.onError(error);
   }
   if (mPostRequestsQueue != null && mPostRequestsQueue.size() > 0) {
     for (VKRequest postRequest : mPostRequestsQueue)
       if (postRequest.requestListener != null) postRequest.requestListener.onError(error);
   }
 }
  /**
   * Method used for response processing
   *
   * @param jsonResponse response from API
   * @param parsedModel model parsed from json
   */
  private void provideResponse(final JSONObject jsonResponse, Object parsedModel) {
    final VKResponse response = new VKResponse();
    response.request = this;
    response.json = jsonResponse;
    response.parsedModel = parsedModel;
    if (mLoadingOperation instanceof VKHttpOperation) {
      response.responseString = ((VKHttpOperation) mLoadingOperation).getResponseString();
    }

    if (mPostRequestsQueue != null && mPostRequestsQueue.size() > 0) {
      for (VKRequest request : mPostRequestsQueue) {
        request.start();
      }
    }

    if (requestListener != null) {
      requestListener.onComplete(response);
    }
  }