public void Flush() { var parts = _parts.Skip(_cursor).ToArray(); _cursor += parts.Length; foreach (var part in parts) { part(_codeWriter); } _codeWriter.Flush(); }