DelegatingAuthenticationEntryPoint currently uses a LinkedHashMap<RequestMatcher,AuthenticationEntryPoint> which is not ideal since:
1) There is no need to lookup the AuthenticationEntryPoint by RequestMatcher and there is extra unnecessary overhead in using a Map. This is just being done to group the two values together.
2) Order is really the primary concern here since each entry is considered in order, so a List is more appropriate.
DelegatingAuthenticationEntryPoint should use List<RequestMatcherEntry<AuthenticationEntryPoint>> instead.