code: public Deferred<Object> storeNew(final TSDB tsdb) {
      if (uid == null || uid.isEmpty()) {
        throw new IllegalArgumentException("Missing UID");
      }
      if (type == null) {
        throw new IllegalArgumentException("Missing type");
      }
      if (name == null || name.isEmpty()) {
        throw new IllegalArgumentException("Missing name");
      }
  
      final PutRequest put = new PutRequest(tsdb.uidTable(), 
          UniqueId.stringToUid(uid), FAMILY, 
          (type.toString().toLowerCase() + "_meta").getBytes(CHARSET), 
          UIDMeta.this.getStorageJSON());
      return tsdb.getClient().put(put);
    }
docs: Attempts to store a blank, new UID meta object in the proper location.
  <b>Warning:</b> This should not be called by user accessible methods as it
  will overwrite any data already in the column. This method does not use
  a CAS, instead it uses a PUT to overwrite anything in the column.
  @param tsdb The TSDB to use for calls
  @return A deferred without meaning. The response may be null and should
  only be used to track completion.
  @throws HBaseException if there was an issue writing to storage
  @throws IllegalArgumentException if data was missing
  @throws JSONException if the object could not be serialized