code: public static Metadata of(
  		final String name,
  		final String description,
  		final Person author,
  		final Copyright copyright,
  		final List<Link> links,
  		final ZonedDateTime time,
  		final String keywords,
  		final Bounds bounds
  	) {
  		return new Metadata(
  			name,
  			description,
  			author == null || author.isEmpty() ? null : author,
  			copyright,
  			links,
  			time,
  			keywords,
  			bounds
  		);
  	}
docs: Create a new {@code Metadata} object with the given parameters.
  
  @param name the name of the GPX file
  @param description a description of the contents of the GPX file
  @param author the person or organization who created the GPX file
  @param copyright copyright and license information governing use of the
  file
  @param links URLs associated with the location described in the file
  @param time the creation date of the file
  @param keywords keywords associated with the file. Search engines or
  databases can use this information to classify the data.
  @param bounds minimum and maximum coordinates which describe the extent
  of the coordinates in the file
  @return a new {@code Metadata} object with the given parameters
  @throws NullPointerException if the given {@code links} sequence is
  {@code null}