code: public PutItemResponse putItem(PutItemRequest request) {
          checkNotNull(request, "request should not be null.");
          InternalRequest httpRequest = createRequestUnderInstance(HttpMethodName.PUT,
                  MolaDbConstants.URI_TABLE,
                  request.getTableName(),
                  MolaDbConstants.URI_ITEM);
          fillInHeadAndBody(request, httpRequest);
          PutItemResponse ret = this.invokeHttpClient(httpRequest, PutItemResponse.class);
          return ret;
      }
docs: <p>
  Creates a new item, or replaces an old item with a new item. If an
  item that has the same primary key as the new item already exists in
  the specified table, the new item completely replaces the existing
  item. You can perform a conditional put operation (add 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>
  <p>
  When you add an item, the primary key attribute(s) are the only
  required attributes. Attribute values cannot be null. String and
  Binary type attributes must have lengths greater than zero. Set type
  attributes cannot be empty.
  </p>
  
  @param request Container for the necessary parameters to
  execute the PutItem service method on Moladb.
  @return The responseContent from the PutItem service method, as returned by
  Moladb.
  @throws BceClientException
  If any internal errors are encountered inside the client while
  attempting to make the request or handle the responseContent.  For example
  if a network connection is not available.
  @throws BceServiceException
  If an error responseContent is returned by Moladb indicating
  either a problem with the data in the request, or a server side issue.