docs: public static Deferred<Branch> fetchBranchOnly(final TSDB tsdb, 
        final byte[] branch_id) {
      
      final GetRequest get = new GetRequest(tsdb.treeTable(), branch_id);
      get.family(Tree.TREE_FAMILY());
      get.qualifier(BRANCH_QUALIFIER);
      
      /**
       * Called after the get returns with or without data. If we have data, we'll
       * parse the branch and return it.
       */
      final class GetCB implements Callback<Deferred<Branch>, ArrayList<KeyValue>> {
  
        @Override
        public Deferred<Branch> call(ArrayList<KeyValue> row) throws Exception {
          if (row == null || row.isEmpty()) {
            return Deferred.fromResult(null);
          }
          
          final Branch branch = JSON.parseToObject(row.get(0).value(), 
              Branch.class);
          
          // WARNING: Since the json doesn't store the tree ID, to cut down on
          // space, we have to load it from the row key.
          branch.tree_id = Tree.bytesToId(row.get(0).key());
          return Deferred.fromResult(branch);
        }
        
      }
      
      return tsdb.getClient().get(get).addCallbackDeferring(new GetCB());
    }