Syntactic sugar around to make it easier to get fine-grained access
        to the parts of a file without composing a PhyloSchema object.
        Possible invocations include:
            w.get('pg_10')
            w.get('pg_10', 'trees')
            w.get('pg_10', 'trees', format='nexus')
            w.get('pg_10', tree_id='tree3')
        see:

def get(self, study_id, content=None, schema=None, **kwargs):
        """Syntactic sugar around to make it easier to get fine-grained access
        to the parts of a file without composing a PhyloSchema object.
        Possible invocations include:
            w.get('pg_10')
            w.get('pg_10', 'trees')
            w.get('pg_10', 'trees', format='nexus')
            w.get('pg_10', tree_id='tree3')
        see:
        """
        if isinstance(study_id, TreeRef):
            return self.get(study_id=study_id.study_id,
                            tree_id=study_id.tree_id,
                            content=content,
                            schema=schema,
                            **kwargs)
        if schema is None:
            schema = create_content_spec(content=content,
                                         repo_nexml2json=self.repo_nexml2json,
                                         **kwargs)
        r = self.get_study(study_id, schema)
        if schema.content == 'study' and schema.format_str == 'nexson':
            return r
        if isinstance(r, dict) and ('data' in r):
            return r['data']
        return r