code: public PutItemResult putItem(PutItemRequest putItemRequest)
              throws AmazonServiceException, AmazonClientException {
          ExecutionContext executionContext = createExecutionContext(putItemRequest);
          AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
          Request<PutItemRequest> request = marshall(putItemRequest,
                  new PutItemRequestMarshaller(),
                  executionContext.getAwsRequestMetrics());
          // Binds the request metrics to the current request.
          request.setAWSRequestMetrics(awsRequestMetrics);
          Unmarshaller<PutItemResult, JsonUnmarshallerContext> unmarshaller = new PutItemResultJsonUnmarshaller();
          JsonResponseHandler<PutItemResult> responseHandler = new JsonResponseHandler<PutItemResult>(unmarshaller);
          return invoke(request, responseHandler, executionContext);
      }
docs: <p>
  Creates a new item, or replaces an old item with a new item (including
  all the attributes).
  </p>
  <p>
  If an item already exists in the specified table with the same primary
  key, the new item completely replaces the existing item. You can
  perform a conditional put (insert a new item if one with the specified
  primary key doesn't exist), or replace an existing item if it has
  certain attribute values.
  </p>
  
  @param putItemRequest Container for the necessary parameters to
  execute the PutItem service method on AmazonDynamoDB.
  
  @return The response from the PutItem service method, as returned by
  AmazonDynamoDB.
  
  @throws LimitExceededException
  @throws ProvisionedThroughputExceededException
  @throws ConditionalCheckFailedException
  @throws InternalServerErrorException
  @throws ResourceNotFoundException
  
  @throws AmazonClientException
  If any internal errors are encountered inside the client while
  attempting to make the request or handle the response.  For example
  if a network connection is not available.
  @throws AmazonServiceException
  If an error response is returned by AmazonDynamoDB indicating
  either a problem with the data in the request, or a server side issue.