IMethod FindMethodOverridenBy(InternalMethod entity)
{
var method = entity.Method;
if (method.ParentNode.NodeType == NodeType.Property)
return FindPropertyAccessorOverridenBy((Property)method.ParentNode, method);
var baseType = entity.DeclaringType.BaseType;
var candidates = NameResolutionService.Resolve(baseType, entity.Name, EntityType.Method);
if (candidates == null)
return null;
var baseMethod = FindMethodOverridenBy(entity, candidates);
if (baseMethod != null) EnsureRelatedNodeWasVisited(method, baseMethod);
return baseMethod;
}