private <Request, Response> Response invoke(Request request) throws OperationFailed, ModifyRegistrationRequired, InvalidRegistration, UnsupportedMimeType, MissingParameters, UnsupportedLocale, InvalidHandle, UnsupportedWindowState, UnsupportedMode, PortletStateChangeRequired, OperationNotSupported
{
// get the proper RequestProcessor based on the request
RequestProcessor<Request, Response> requestProcessor = ProcessorFactory.getProcessorFor(producer, request);
final PortletInvocationResponse response;
String handle = requestProcessor.getPortletContext().getPortletHandle();
String invocationType = request.getClass().getSimpleName();
try
{