public void WriteExtension(PlainBufferExtension extension)
        {
            WriteTag(PlainBufferConsts.TAG_EXTENSION);
            output.WriteRawLittleEndian32(PlainBufferBuilder.ComputeSkipLengthForExtensionTag(extension));
            int extensionCount = 0;

            if (extension.HasSeq())
            {
                WriteSequenceInfo(extension.GetSequenceInfo());
                extensionCount++;
            }

            if (extensionCount == 0)
            {
                throw new IOException("no extension tag is Writen.");
            }
        }