private Prl[] ExpandPrm(Prm prm, Clx clx)
        {
            if (prm.fComplex)
            {
                int index = prm.igrpprl;
                return clx.RgPrc[index].GrpPrl;
            }
            else if (prm.prm != 0x0000)
            {
                ushort sprm;
                if (!SinglePropertyModifiers.prm0Map.TryGetValue(prm.isprm, out sprm))
                    throw new WordFileReaderException("Invalid Prm: isprm");
                byte value = prm.val;

                Prl prl = new Prl();
                prl.sprm = new Sprm(sprm);
                prl.operand = new byte[] { value };
                return new Prl[] { prl };
            }
            else
                return new Prl[0];
        }
 private static Pcd ReadPcd(Stream s)
 {
     byte[] data = ReadUtils.ReadExact(s, Pcd.Size);
     Pcd pcd = new Pcd();
     pcd.fNoParaLast = (data[0] & 0x01) != 0;
     pcd.fR1 = (data[0] & 0x02) != 0;
     pcd.fDirty = (data[0] & 0x04) != 0;
     uint uCompressed = BitConverter.ToUInt32(data, 2);
     FcCompressed comressed = new FcCompressed();
     comressed.fc = (int)(uCompressed & 0x3FFFFFFF);
     comressed.fCompressed = (uCompressed & 0x40000000) != 0;
     pcd.fc = comressed;
     ushort uPrm = BitConverter.ToUInt16(data, 6);
     Prm prm = new Prm();
     prm.prm = uPrm;
     pcd.prm = prm;
     return pcd;
 }