default <T_RESP> T_RESP remoteRestResult(final String nodeName,
                                             final Class<T_RESP> responseType,
                                             final Supplier<String> fullPathSupplier,
                                             final Supplier<T_RESP> localSupplier,
                                             final Function<Invocation.Builder, Response> responseBuilderFunc,
                                             final Map<String, Object> queryParams) {

        return remoteRestResult(
                nodeName,
                fullPathSupplier,
                localSupplier,
                responseBuilderFunc,
                response ->
                        response.readEntity(responseType),
                queryParams);

    }
Call out to the specified node using the rest request defined by fullPath and
responseBuilderFunc, if nodeName is this node then use localSupplier.

@param nodeName            The name of the node to call
@param responseType        The type of the result that will be returned.
@param fullPathSupplier    A supplier of the full path to use for a remote rest call, if needed, e.g.
                           /api/permission/changeEvent/v1/fireChange
@param localSupplier       The supplier of the result if this node matches nodeName
@param responseBuilderFunc A function to use the provided {@link Invocation.Builder} to execute a REST
                           call and get the result from a node where nodeName is not equal to this node's
                           name.
stroom-node/stroom-node-api/src/main/java/stroom/node/api/NodeService.java