public static void Main(string[] args)
var buzzword = "buzzword";
var lineToAdd = "Line to add";
"Line 3 contains the buzzword",
"Line 5 has the buzzword too and is already followed by one line to add",
"Line 6 with the buzzword is already followed by two lines to add",
"Line 8 with the buzzword"
var transformed = lines.SelectMany((line, index) =>
line.Contains(buzzword) && (index == lines.Length - 1 || !lines[index + 1].Equals(lineToAdd, StringComparison.Ordinal)) ?
new[] { line, lineToAdd } :
foreach (var line in transformed)