public IEnumerable<CommandFormat> GetFormats(ICommandParser parser) { if (_formats != null) return _formats; var formats = new List<CommandFormat>(); foreach (var line in _lines) { var result = parser.ParseScript(line); formats.Add(result); } _formats = formats; return formats; }