public TfProviderField LocateOrAdd(IEnumerable <string> paths) { var name = paths.FirstOrDefault(); if (name == null) { return(this); } name = CodeNamer.GetAzureRmSchemaName(name); if (!subFields.TryGetValue(name, out var field)) { field = AddField(name); } return(field.LocateOrAdd(paths.Skip(1))); }