private void SetupProperties(DescriptionContext context, IClass @class) { if (context.IsTypeComplete(context.Type)) { if (@class == context[context.Type]) { return; } foreach (var property in context[context.Type].SupportedProperties) { @class.SupportedProperties.Add(property); } } else { var properties = context.Type.GetProperties(typeof(IEntity)); foreach (var property in properties) { @class.SupportedProperties.Add(BuildSupportedProperty(context, @class, context.Type, property)); } } }