private static Map<HttpMethod, List<String>> getHttpMethodAnnotatedPatternMap(
            Set<Annotation> methodAnnotations) {
        final Map<HttpMethod, List<String>> httpMethodPatternMap = new EnumMap<>(HttpMethod.class);
        methodAnnotations.stream()
                         .filter(annotation -> HTTP_METHOD_MAP.containsKey(annotation.annotationType()))
                         .forEach(annotation -> {
                             final HttpMethod httpMethod = HTTP_METHOD_MAP.get(annotation.annotationType());
                             final String value = (String) AnnotatedObjectFactory.invokeValueMethod(annotation);
                             final List<String> patterns = httpMethodPatternMap
                                     .computeIfAbsent(httpMethod, ignored -> new ArrayList<>());
                             if (DefaultValues.isSpecified(value)) {
                                 patterns.add(value);
                             }
                         });
        return httpMethodPatternMap;
    }
Returns path patterns for each {@link HttpMethod}. The path pattern might be specified by
{@link Path} or HTTP method annotations such as {@link Get} and {@link Post}. Path patterns
may be specified by either HTTP method annotations, or {@link Path} annotations but not both
simultaneously.
core/src/main/java/com/linecorp/armeria/internal/server/annotation/AnnotatedServiceFactory.java