public static PermissionSetSignature FromReader(MetadataHeader header, IBinaryStreamReader reader)
{
var signature = new PermissionSetSignature()
{
StartOffset = reader.Position
};
var signatureHeader = reader.ReadByte();
if (signatureHeader != '.')
throw new ArgumentException("Signature doesn't refer to a valid permission set signature.");
uint attributeCount;
if (!reader.TryReadCompressedUInt32(out attributeCount))
return signature;
for (int i = 0; i < attributeCount; i++)
signature.Attributes.Add(SecurityAttributeSignature.FromReader(header, reader));
return signature;
}