Given a guarded invocation, return either the same or potentially
different guarded invocation.
Parameters:
inv - the original guarded invocation.
linkRequest - the link request for which the invocation was
generated (usually by some linker).
linkerServices - the linker services that can be used during
creation of a new invocation.
Returns:
either the passed guarded invocation or a different one, with
the difference usually determined based on information in the link
request and the differing invocation created with the assistance of the
linker services. Whether or not null is an accepted return value
is dependent on the user of the filter.
Throws:
NullPointerException - is allowed to be thrown by implementations
if any of the passed arguments is null.