private IImmutableSet <Subroutine> GetInheritedEnsures(Method method) { IImmutableSet <Subroutine> result = ImmutableSet <Subroutine> .Empty(); if (MetaDataProvider.IsVirtual(method) && ContractProvider.CanInheritContracts(method)) { foreach (Method implementedMethod in MetaDataProvider.OverridenAndImplementedMethods(method)) { Subroutine subroutine = Get(MetaDataProvider.Unspecialized(implementedMethod)); if (subroutine != null) { result = result.Add(subroutine); } } } return(result); }