private void _read()
        {
            _one = m_io.ReadU1();
            switch ((One & 3))
            {
            case 0: {
                _next = new RecursiveOne(m_io);
                break;
            }

            case 1: {
                _next = new RecursiveOne(m_io);
                break;
            }

            case 2: {
                _next = new RecursiveOne(m_io);
                break;
            }

            case 3: {
                _next = new Fini(m_io, this, m_root);
                break;
            }
            }
        }
 public Fini(KaitaiStream p__io, RecursiveOne p__parent = null, RecursiveOne p__root = null) : base(p__io)
 {
     m_parent = p__parent;
     m_root   = p__root;
     _read();
 }
 public RecursiveOne(KaitaiStream p__io, KaitaiStruct p__parent = null, RecursiveOne p__root = null) : base(p__io)
 {
     m_parent = p__parent;
     m_root   = p__root ?? this;
     _read();
 }