public List<ApiDescription> read(RequestMappingContext outerContext) { PatternsRequestCondition patternsCondition = outerContext.getPatternsCondition(); ApiSelector selector = outerContext.getDocumentationContext().getApiSelector(); List<ApiDescription> apiDescriptionList = newArrayList(); for (String path : matchingPaths(selector, patternsCondition)) { String methodName = outerContext.getName(); RequestMappingContext operationContext = outerContext.copyPatternUsing(path); List<Operation> operations = operationReader.read(operationContext); if (operations.size() > 0) { operationContext .apiDescriptionBuilder() .operations(operations) .pathDecorator( pluginsManager.decorator(new PathContext(outerContext, from(operations).first()))) .path(path) .description(methodName) .hidden(false); ApiDescription apiDescription = operationContext.apiDescriptionBuilder().build(); lookup.add(outerContext.key(), apiDescription); apiDescriptionList.add(apiDescription); } } return apiDescriptionList; }