A ShingleFilter constructs shingles (token n-grams) from a token stream. /// In other words, it creates combinations of tokens as a single token.
/// ///For example, the sentence "please divide this sentence into shingles" /// might be tokenized into shingles "please divide", "divide this", /// "this sentence", "sentence into", and "into shingles".
/// ///This filter handles position increments > 1 by inserting filler tokens /// (tokens with termtext "_"). It does not handle a position increment of 0.
////// Get the next token from the input stream and push it on the token buffer. /// If we encounter a token with position increment > 1, we put filler tokens /// on the token buffer. ///
/// Returns null when the end of the input stream is reached. ///