code: public ExternalContentHandler createFromLinks(final List<String> links) throws ExternalMessageBodyException {
          if (links == null) {
              return null;
          }
  
          final List<String> externalContentLinks = links.stream()
                  .filter(x -> x.contains(EXTERNAL_CONTENT.toString()))
                  .collect(Collectors.toList());
  
          if (externalContentLinks.size() > 1) {
              // got a problem, you can only have one ExternalContent links
              throw new ExternalMessageBodyException("More then one External Content Link header in request");
          } else if (externalContentLinks.size() == 1) {
              final String link = externalContentLinks.get(0);
              final String uri = getUriString(link);
              // Validate that the URI is valid according to allowed set of external uris
              try {
                  validator.validate(uri);
              } catch (final ExternalMessageBodyException e) {
                  LOGGER.warn("Rejected invalid external path {}", uri);
                  throw e;
              }
  
              return new ExternalContentHandler(link);
          }
  
          return null;
      }
docs: Looks for ExternalContent link header and if it finds one it will return a new ExternalContentHandler object
  based on the found Link header. If multiple external content headers were found or the URI provided in the
  header is not a valid external content path, then an ExternalMessageBodyException will be thrown.
  
  @param links links from the request header
  @return External Content Handler Object if Link header found, else null
  @throws ExternalMessageBodyException thrown if more than one external content link was provided, or if the URL
  of the header was not a valid external content path.