public PlainBufferExtension ReadExtension()
        {
            PlainBufferExtension extension = new PlainBufferExtension();

            if (CheckLastTagWas(PlainBufferConsts.TAG_EXTENSION))
            {
                ReadUInt32(); // length
                ReadTag();
                while (PlainBufferConsts.IsTagInExtension(GetLastTag()))
                {
                    if (CheckLastTagWas(PlainBufferConsts.TAG_SEQ_INFO))
                    {
                        extension.setSequenceInfo(ReadSequenceInfo());
                    }
                    else
                    {
                        int length = (int)this.inputStream.ReadRawLittleEndian32();
                        SkipRawSize(length);
                        ReadTag();
                    }
                }
            }

            return(extension);
        }