public Request<CreateRateBasedRuleRequest> marshall(CreateRateBasedRuleRequest createRateBasedRuleRequest) { if (createRateBasedRuleRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } try { final ProtocolRequestMarshaller<CreateRateBasedRuleRequest> protocolMarshaller = protocolFactory.createProtocolMarshaller(SDK_OPERATION_BINDING, createRateBasedRuleRequest); protocolMarshaller.startMarshalling(); CreateRateBasedRuleRequestMarshaller.getInstance().marshall(createRateBasedRuleRequest, protocolMarshaller); return protocolMarshaller.finishMarshalling(); } catch (Exception e) { throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e); } }