public static PersistentProperty Resolve(IProperty source, ITypeResolver typeResolver)
 {
     PersistentProperty pro = new PersistentProperty ();
     pro.FullyQualifiedName = source.FullyQualifiedName;
     pro.Documentation = source.Documentation;
     pro.modifiers = source.Modifiers;
     pro.returnType = PersistentReturnType.Resolve (source.ReturnType, typeResolver);
     pro.canGet = source.CanGet;
     pro.canSet = source.CanSet;
     pro.region = source.Region;
     return pro;
 }
 public static PersistentProperty Read(BinaryReader reader, INameDecoder nameTable)
 {
     PersistentProperty pro = new PersistentProperty ();
     pro.FullyQualifiedName = PersistentHelper.ReadString (reader, nameTable);
     pro.Documentation = PersistentHelper.ReadString (reader, nameTable);
     uint m = reader.ReadUInt32();
     pro.modifiers = (ModifierEnum)(m & (canGetFlag - 1));
     pro.canGet = (m & canGetFlag) == canGetFlag;
     pro.canSet = (m & canSetFlag) == canSetFlag;
     pro.returnType = PersistentReturnType.Read (reader, nameTable);
     pro.region = PersistentRegion.Read (reader, nameTable);
     return pro;
 }