public IEnumerable<PropertyDefinition> GetDependentPropertiesFrom(PropertyDefinition property)
{
var dependentPropertyDefinitions = (from dependentPropertyDefinition in TypeDefinition.Properties
where dependentPropertyDefinition != property && ExistPropertyDependencyBetween(dependentPropertyDefinition, property)
select dependentPropertyDefinition).ToList();
for (var i = 0; i < dependentPropertyDefinitions.Count; i++)
{
foreach (var propertyDefinition in GetDependentPropertiesFrom(dependentPropertyDefinitions[i]))
{
if (!dependentPropertyDefinitions.Contains(propertyDefinition))
{
dependentPropertyDefinitions.Add(propertyDefinition);
}
}
}
return dependentPropertyDefinitions;
}