ITypedReferenceableInstance getDuringWalk(Id id, ObjectGraphWalker walker) throws RepositoryException {
        ClassStore cS = getClassStore(id.getTypeName());
        if (cS == null) {
            throw new RepositoryException(String.format("Unknown Class %s", id.getTypeName()));
        }
        cS.validate(this, id);
        ReferenceableInstance r = cS.createInstance(this, id);
        cS.load(r);
        for (String traitName : r.getTraits()) {
            HierarchicalTypeStore tt = typeStores.get(traitName);
            tt.load(r);
        }

        walker.addRoot(r);
        return r;
    }
ITypedReferenceableInstance getDuringWalk ( Id id , ObjectGraphWalker walker ) throws RepositoryException { ClassStore cS = getClassStore ( id . getTypeName ( ) ) ; if ( cS == null ) { throw new RepositoryException ( String . format ( "Unknown Class %s" , id . getTypeName ( ) ) ) ; } cS . validate ( this , id ) ; ReferenceableInstance r = cS . createInstance ( this , id ) ; cS . load ( r ) ; for ( String traitName : r . getTraits ( ) ) { HierarchicalTypeStore tt = typeStores . get ( traitName ) ; tt . load ( r ) ; } walker . addRoot ( r ) ; return r ; }
/*
- Id must be valid; Class must be valid.
- Ask ClassStore to createInstance.
- Ask ClassStore to load instance.
- load instance traits
- add to GraphWalker