void processType(IContext cxt, PropertyInfo property, Type type) { if (!isEntity(type)) return; var childContext = cxt.GetChildContext(type, property, () => 1); foreach (var prop in type.GetProperties()) { processType(childContext, prop, prop.PropertyType); } }