code: @SuppressWarnings("PMD.PreserveStackTrace")
      private <REQ extends J4pRequest> JSONAware extractJsonResponse(REQ pRequest, HttpResponse pResponse) throws J4pException {
          try {
              return requestHandler.extractJsonResponse(pResponse);
          } catch (IOException e) {
              throw new J4pException("IO-Error while reading the response: " + e,e);
          } catch (ParseException e) {
              // It's a parse exception. Now, check whether the HTTResponse is
              // an error and prepare the proper J4pException
              StatusLine statusLine = pResponse.getStatusLine();
              if (HttpStatus.SC_OK != statusLine.getStatusCode()) {
                  throw new J4pRemoteException(pRequest,statusLine.getReasonPhrase(), null, statusLine.getStatusCode(),null, null);
              }
              throw new J4pException("Could not parse answer: " + e,e);
          }
      }
docs: =====================================================================================================