public List <IBlazorItemField>?GetAllBlazorItemFieldsFromCurrentRoute(string placeHolder) { List <IBlazorItemField> blazorFields = new List <IBlazorItemField>(); if (CurrentRoute == null) { return(null); } if (string.IsNullOrWhiteSpace(placeHolder) || CurrentPlaceholders.All(pl => pl.Key != placeHolder)) { blazorFields.AddRange(_fieldFactory.CreateBlazorItemFields(CurrentRoute.Fields)); } if (CurrentPlaceholders.All(pl => pl.Key != placeHolder)) { return(blazorFields); } var placeHoldersList = CurrentPlaceholders?.Where(ph => ph.Key == placeHolder).ToList(); foreach (var placeholderData in placeHoldersList.SelectMany(keyVal => keyVal.Value)) { blazorFields.AddRange(_fieldFactory.CreateBlazorItemFields(placeholderData.Fields)); } return(blazorFields); }