public void AddInterfaceDepenedentField(SPFieldAttribute field) { CommonHelper.ConfirmNotNull(field, "field"); if (IsTwoColumnField(field)) { foreach (SPModelDescriptor d in EnumerableHelper.AncestorsAndSelf(this, v => v.Parent)) { if (!d.fieldAttributes.Contains(field)) { d.hiddenFields.Add(field); } } foreach (SPModelDescriptor d in EnumerableHelper.Descendants(this, v => v.Children)) { if (!d.fieldAttributes.Contains(field)) { d.hiddenFields.Add(field); } } } }