code: protected Collection<Authentication> getChainedAuthentications(final Map<String, Object> model) {
          val assertion = getAssertionFrom(model);
          val chainedAuthentications = assertion.getChainedAuthentications();
          return chainedAuthentications.stream().limit(chainedAuthentications.size() - 1).collect(Collectors.toList());
      }
docs: Gets chained authentications.
  Note that the last index in the list always describes the primary authentication
  event. All others in the chain should denote proxies. Per the CAS protocol,
  when authentication has proceeded through multiple proxies,
  the order in which the proxies were traversed MUST be reflected in the response.
  The most recently-visited proxy MUST be the first proxy listed, and all the
  other proxies MUST be shifted down as new proxies are added.
  
  @param model the model
  @return the chained authentications