internal void CreateAndPopulateNestedPropertyGroupInstances(TypedPageData typedPage, object classInstance,
IEnumerable<PropertyInfo> properties, string hierarchy)
{
foreach (PropertyInfo property in properties.Where(current => current.PropertyType.BaseType == typeof(PageTypePropertyGroup)))
{
PageTypePropertyGroup propertyGroup = CreatePropertyGroupInstance(property.PropertyType);
string propertyName = PageTypePropertyGroupHierarchy.ResolvePropertyName(hierarchy, property.Name);
propertyGroup.PopuplateInstance(typedPage, propertyName);
property.SetValue(classInstance, propertyGroup, null);
}
}
}