code: @Override
      public Asset updateAsset(final Asset asset) throws IOException, BadVersionException, RequestFailureException {
          HttpURLConnection connection = createHttpURLConnectionToMassive("/assets/"
                                                                          + asset.get_id());
          connection.setRequestMethod("PUT");
          connection.setRequestProperty("Content-Type", "application/json");
          connection.setDoOutput(true);
          JSONAssetConverter.writeValue(connection.getOutputStream(), asset);
  
          /*
           * Force the PUT to take place by getting the response code and making sure it is ok
           */
          testResponseCode(connection, true);
  
          /*
           * PUTs don't return an (they just return "1" - not sure what that
           * means) so go and grab it so we have an updated one with the right
           * last update date in case they use it for optimistic locking
           */
          return getAsset(asset.get_id());
      }
docs: Updates an asset in Massive. The {@link Asset#get_id()} must return the
  correct ID for this asset. Note that Massive will set some fields (such
  as last update date) so it is important to switch to the returned object
  after calling this method.
  
  @param asset
  The asset to add, it will not be modified by this method
  @return The asset with information added by Massive
  @throws IOException
  @throws RequestFailureException