code: private UploadResponder getUploadResponder(TransferContext transferContext) {
          LOGGER.entering(transferContext);
          UploadResponder uploadResponder;
          Class<? extends UploadResponder> uploadResponderClass = getResponderClass(transferContext
                  .getHttpServletRequest().getHeader("accept"));
          try {
              uploadResponder = (UploadResponder) uploadResponderClass.getConstructor(new Class[] { TransferContext.class }).newInstance(
                      new Object[] { transferContext });
              LOGGER.exiting(uploadResponder);
              return uploadResponder;
          } catch (Exception e) {
              // We cannot do any meaningful operation to handle this; catching exception and returning
              // default responder
              uploadResponder = new JsonUploadResponder(transferContext);
              LOGGER.exiting(uploadResponder);
              return uploadResponder;
          }
      }
docs: Returns a {@link AbstractUploadResponder} depending on the Accept header received in {@link HttpServletRequest}.
  If there is no matching {@link AbstractUploadResponder} then return {@link JsonUploadResponder} as the default
  implementation.
  
  @param transferContext
  Instance of {@link TransferContext}
  @return Instance of {@link AbstractUploadResponder}.