private void AppendLookupFieldCascadeChanges(string fieldName, string recordType, List <Action <RecordEntryViewModelBase> > onChanges)
        {
            var lookupForAttributes = ObjectRecordService.GetPropertyInfo(fieldName, recordType)
                                      .GetCustomAttributes(typeof(LookupFieldCascade), true).Cast <LookupFieldCascade>();

            foreach (var attribute in lookupForAttributes)
            {
                onChanges.Add(
                    re =>
                {
                    var changedViewModel = re.GetFieldViewModel(fieldName);
                    if (changedViewModel.ValueObject != null)
                    {
                        var changedViewModelLookup = ((LookupFieldViewModel)changedViewModel).Value;
                        var matchingFields         = re.FieldViewModels.Where(f => f.FieldName == attribute.TargetProperty);
                        var lookupService          = ObjectRecordService.GetLookupService(changedViewModel.FieldName, re.GetRecordType(), re.ParentFormReference, re.GetRecord());
                        if (lookupService != null)
                        {
                            var lookupRecord = lookupService.Get(changedViewModelLookup.RecordType, changedViewModelLookup.Id);
                            if (lookupRecord == null)
                            {
                                changedViewModel.ValueObject = null;
                                re.ApplicationController.UserMessage(string.Format("The {0} Was Not Found And The Value Has Been Cleared", changedViewModel.Label));
                            }
                            else
                            {
                                var sourceFieldValue = lookupRecord.GetField(attribute.SourceRecordField);
                                if (matchingFields.Any())
                                {
                                    matchingFields.First().ValueObject = sourceFieldValue;
                                }
                            }
                        }
                    }
                });
            }
        }