private void processLimit(final KeywordGroup keywordGroup,
                                  final TableSettings.Builder tableSettingsBuilder) {
            final List<AbstractToken> children = keywordGroup.getChildren();
            for (final AbstractToken t : children) {
                if (TokenType.isString(t) || TokenType.NUMBER.equals(t.getTokenType())) {
                    try {
                        tableSettingsBuilder.addMaxResults(Long.parseLong(t.getUnescapedText()));
                    } catch (final NumberFormatException e) {
                        throw new TokenException(t, "Syntax exception, expected number");
                    }
                } else if (!TokenType.COMMA.equals(t.getTokenType())) {
                    // We expect numbers and commas.
                    throw new TokenException(t, "Syntax exception, expected number");
                }
            }
        }
@param isLenient Ignores any additional child tokens found. This is to support getting just
                 the data source from a partially written query, which is likely to not be
                 a valid query. For example, you may type
                 <pre>{@code from View sel}</pre> and at this point do code completion on 'sel'
                 so if this method is called it will treat 'sel as an extra child.
stroom-query/stroom-query-common/src/main/java/stroom/query/language/SearchRequestFactory.java