code: public Deferred<Boolean> storeNew(final TSDB tsdb) {
      if (tsuid == null || tsuid.isEmpty()) {
        throw new IllegalArgumentException("Missing TSUID");
      }
  
      final PutRequest put = new PutRequest(tsdb.metaTable(), 
          UniqueId.stringToUid(tsuid), FAMILY, META_QUALIFIER, getStorageJSON());
      
      final class PutCB implements Callback<Deferred<Boolean>, Object> {
        @Override
        public Deferred<Boolean> call(Object arg0) throws Exception {
          return Deferred.fromResult(true);
        }      
      }
      
      return tsdb.getClient().put(put).addCallbackDeferring(new PutCB());
    }
docs: Attempts to store a new, blank timeseries meta object
  <b>Note:</b> This should not be called by user accessible methods as it will
  overwrite any data already in the column.
  <b>Note:</b> This call does not guarantee that the UIDs exist before
  storing as it should only be called *after* a data point has been recorded
  or during a meta sync.
  @param tsdb The TSDB to use for storage access
  @return True if the TSMeta created(or updated) successfully
  @throws HBaseException if there was an issue fetching
  @throws IllegalArgumentException if parsing failed
  @throws JSONException if the object could not be serialized