private QuoteParser(Builder builder) { _builder = builder; _deleteQuoteMarks = builder._deleteQuoteMarks; _recursive = builder._recursive; if (!_deleteQuoteMarks && _recursive) { throw new InvalidOperationException("Can't perform recursive parsing without deleting '>'"); } _quoteMarkFeature = new QuoteMarkFeature(); _quoteHeaderLinesParser = new QuoteHeaderLinesParser( builder._headerLinesCount, builder._multiLineHeaderLinesCount, builder._keyPhrases ); _quoteMarkParser = new QuoteMarkParser( builder._maxQuoteBlocksCount, builder._minimumQuoteBlockSize ); }