public void Unpack(ObjectReader reader)
 {
     n = reader.ReadInt32();
     branch = (Link)reader.ReadObject();
     card = branch.Count;
     int nDims = ((Page.pageSize-ObjectHeader.Sizeof-12)/card - 4) / 16;
     double[] coords = new double[nDims*2];
     b = new RectangleRn[card];
     for (int i = 0; i < n; i++) {
         for (int j = 0; j < nDims; j++) {
             coords[j] = reader.ReadDouble();
             coords[j+nDims] = reader.ReadDouble();
         }
         b[i] = new RectangleRn(coords);
     }
 }
 public void Unpack(object obj, ObjectReader reader)
 {
     PSObject po = (PSObject)obj;
     string name;
     while ((name = reader.ReadString()).Length != 0) 
     {
         object value = reader.ReadObject();
         po.Properties.Add(new PSNoteProperty(name, value));
     }
 }
 public object Unpack(ObjectReader reader)
 {
     throw new NotImplementedException();
 }
 public  void Unpack(ObjectReader reader)
 {
     rect = new RectangleR2(reader.ReadDouble(), reader.ReadDouble(), reader.ReadDouble(), reader.ReadDouble());
     body = reader.ReadBytes(reader.ReadInt32());
 }