public void AppendLine(string line) { if (_currentBuilder == null) { foreach (var pair in Commands) { if (pair.Key.IsMatch(line)) { _currentBuilder = pair.Value(); break; } } if (_currentBuilder == null) { throw new BadFormatException(); } } _currentBuilder.AppendLine(line); }