public void ParseFile(String assetpath, ParseClassCallbackType cb)
    {
        FileStream fs = new FileStream(assetpath, FileMode.Open, FileAccess.Read, System.IO.FileShare.Read);

        BinaryReader br = new BinaryReader(fs);

        bool processing = true;

        while ( processing )
        {
            string classname = MegaParse.ReadString(br);

            if ( classname == "Done" )
                break;

            int	chunkoff = br.ReadInt32();
            long fpos = fs.Position;

            cb(classname, br);

            fs.Position = fpos + chunkoff;
        }

        br.Close();
    }