code: public String format(final Location location) {
  		requireNonNull(location);
  		return _formats.stream()
  			.map(format -> format.format(location)
  							.orElseThrow(() -> toError(location)))
  			.collect(Collectors.joining());
  	}
docs: Formats the given {@code location} using {@code this} formatter.
  
  @param location the location to format
  @return the format string
  @throws NullPointerException if the given {@code location} is {@code null}
  @throws FormatterException if the formatter tries to format a non-existing,
  non-optional location fields.