@Override
	public URI getWarcTargetURI() {
		final Header header = WarcHeader.getFirstHeader(this.warcHeaders, WarcHeader.Name.WARC_TARGET_URI);
		if (header == null) throw new IllegalStateException(WarcHeader.Name.WARC_TARGET_URI + " header not present");
		if (! USE_BURL) return URI.create(header.getValue());
		final URI result = BURL.parse(header.getValue());
		if (result == null) throw new IllegalArgumentException("BURL.parse() found an unfixable syntax error in URL " + header.getValue());
		return result;
	}
@ Override public URI getWarcTargetURI ( ) { final Header header = WarcHeader . getFirstHeader ( this . warcHeaders , WarcHeader . Name . WARC_TARGET_URI ) ; if ( header == null ) throw new IllegalStateException ( WarcHeader . Name . WARC_TARGET_URI + " header not present" ) ; if ( ! USE_BURL ) return URI . create ( header . getValue ( ) ) ; final URI result = BURL . parse ( header . getValue ( ) ) ; if ( result == null ) throw new IllegalArgumentException ( "BURL.parse() found an unfixable syntax error in URL " + header . getValue ( ) ) ; return result ; }
Returns the <code>WARC-Target-URI</code> header as a {@link URI}.

<p>Parsing is performed by {@link URI#create(String)}, unless the system property {@value #USE_BURL_PROPERTY}
has been set to true, in which case {@link BURL#parse(String)} will be used (if {@link BURL#parse(String)}
returns {@code null}, we throw an {@link IllegalArgumentException} as from the specification
in {@link WarcRecord#getWarcTargetURI()}).

@return the record target URI.
@throws IllegalStateException if the header is not present.
@throws IllegalArgumentException if the header value cannot be parsed into a URI.
@see AbstractWarcRecord#getWarcTargetURI()