public IEnumerable<MethodEntity> GetMethods(bool includeSuper, bool includeProtocols)
{
List<MethodEntity> methods = new List<MethodEntity> (this.Methods);
if (this.SuperClass != null && includeSuper) {
methods.AddRange (this.SuperClass.GetMethods (true, true));
}
if (this.Protocols != null && includeProtocols) {
foreach (ProtocolEntity protocol in this.Protocols) {
methods.AddRange (protocol.Methods);
}
}
return methods.Distinct ();
}