/// <summary>
        /// Writes a full NBT tag including the type, name and actual payload.
        /// </summary>
        public void Write(TagBase tag, string name)
        {
            if (tag == null)
            {
                throw new ArgumentNullException("tag");
            }
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            Write(tag.Type);
            Write(name);
            tag.WritePayload(this);
        }