static List <LocationContainerImpl.WithContent> ConvertLocationsWidthContent(HidemaruLspClient_BackEndContract.ILocationContainer locations) { var result = new List <LocationContainerImpl.WithContent>(); { var option = new TextLines.Option(); for (long i = 0; i < locations.Length; ++i) { var UserData = new LocationContainerImpl.WithContent(locations.Item(i)); result.Add(UserData); var location = locations.Item(i); option.Add( new Uri(location.uri).AbsolutePath, location.range.start.line, UserData); } foreach (var fileContent in TextLines.Gather(option).Values) { foreach (var lineContent in fileContent) { ((LocationContainerImpl.WithContent)lineContent.UserData).text = lineContent.Text; } } } return(result); }