public <T> T postResource(Class<T> resourceClass, String resourcePath, Object representation) {
ExecutionContext executionContext = createExecutionContext();
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(AWSRequestMetrics.Field.RequestMarshallTime.name());
Request request = new DefaultRequest(null);
request.setHttpMethod(HttpMethodName.POST);
populateResourcePathAndParameters(request, resourcePath);
assignContent(request, representation);
awsRequestMetrics.endEvent(AWSRequestMetrics.Field.RequestMarshallTime.name());
OptionalJsonResponseHandler<HalResource> responseHandler = new OptionalJsonResponseHandler<>(HalJsonResourceUnmarshaller.getInstance());