protected void Write(CiDocBlock block, bool many) { switch (block) { case CiDocPara para: Write(para, many); break; case CiDocList list: Write(list); break; default: throw new ArgumentException(block.GetType().Name); } }