public GsonGrpcJsonMarshallerBuilder jsonPrinterCustomizer(
            Function<? super JsonFormat.Printer, JsonFormat.Printer> jsonPrinterCustomizer) {
        requireNonNull(jsonPrinterCustomizer, "jsonPrinterCustomizer");
        if (this.jsonPrinterCustomizer == null) {
            @SuppressWarnings("unchecked")
            final Function<JsonFormat.Printer, JsonFormat.Printer> cast =
                    (Function<JsonFormat.Printer, JsonFormat.Printer>) jsonPrinterCustomizer;
            this.jsonPrinterCustomizer = cast;
        } else {
            this.jsonPrinterCustomizer = this.jsonPrinterCustomizer.andThen(jsonPrinterCustomizer);
        }
        return this;
    }
Adds a {@link Function} that returns customized the {@link JsonFormat.Printer}
used when serializing a {@link Message} into a JSON payload.
grpc/src/main/java/com/linecorp/armeria/common/grpc/GsonGrpcJsonMarshallerBuilder.java