code: public void setMaxInboundMessageSize(final Integer maxInboundMessageSize) {
          if (maxInboundMessageSize == null || maxInboundMessageSize >= 0) {
              this.maxInboundMessageSize = maxInboundMessageSize;
          } else if (maxInboundMessageSize == -1) {
              this.maxInboundMessageSize = Integer.MAX_VALUE;
          } else {
              throw new IllegalArgumentException("Unsupported maxInboundMessageSize: " + maxInboundMessageSize);
          }
      }
docs: Sets the maximum message size in bytes allowed to be received by the channel. If not set ({@code null}) then it
  will default to {@link GrpcUtil#DEFAULT_MAX_MESSAGE_SIZE gRPC's default}. If set to {@code -1} then it will use
  the highest possible limit (not recommended).
  
  @param maxInboundMessageSize The new maximum size in bytes allowed for incoming messages. {@code -1} for max
  possible. Null to use the gRPC's default.
  
  @see ManagedChannelBuilder#maxInboundMessageSize(int)