code: @Override
  	public void onSuccess(InvocationContext context, HttpResponse response) {
  		
  		Object reponseEntity = null;
  		
  		try {
  		
  			reponseEntity = Processors.RESPONSE.run(context, response); //process, regardless of an AsyncHandler definition
  		}
  		catch(Exception e) {
  			
  			onError(context, InvocationException.newInstance(context, response, e));
  			return;
  		}
  		
  		AsyncHandler<Object> asyncHandler = getAsyncHandler(context);
  		
  		if(asyncHandler != null) {
  			
  			try {
  				
  				asyncHandler.onSuccess(response, reponseEntity);
  			}
  			catch (Exception e) {
  				
  				LOGGER.error("Callback \"onSuccess\" aborted with an exception.", e);
  			}
  		}
  	}
docs: <p>The given {@link HttpResponse} with a successful status code is processed using the response
  processor chain ({@link Processors#RESPONSE} and if an {@link AsyncHandler} is defined, the result
  of the processor chain is submitted to the <i>onSuccess</i> callback. If response processing
  resulted in an error, execution defers to {@link #onError(InvocationContext, Exception)} instead
  and the success callback of the {@link AsyncHandler} is skipped.</p>
  
  <p>See {@link ExecutionHandler#onSuccess(InvocationContext, HttpResponse)}</p>
  
  @param context
  the {@link InvocationContext} with information on the proxy invocation
  <br><br>
  @param response
  the resulting {@link HttpResponse} with a successful status code
  <br><br>
  @since 1.3.0