private Object processAnnotations(HttpMethod method, HttpRequest request, MethodParam param, MethodParam[] params, ResourcePath path, ResourcePath.Component[] components, ChannelHandlerContext ctx) { if (param.isCookieParam()) { return extractCookieParam(param, request); } else if (param.isHeaderParam()) { return extractHeaderParam(param, request); } else if (param.isFormParam()) { return extractFormParam(param, request); } else if (param.isQueryParam()) { return extractQueryParam(param, request); } else if (param.isPathParam()) { return extractPathParam(param, path); } else if (param.isSessionParam()) { return request.getSubject() == null ? null : request.getSubject().getSession().getAttribute(param.getName()); } return null; }