code: @Override
      public <V> boolean match(final MatcherContext<V> context)
      {
          /*
           * Since the trie knows about the length of its possible longest match,
           * extract that many characters from the buffer. Remind that .extract()
           * will adjust illegal indices automatically.
           */
          final int maxLength = trie.getMaxLength();
          final int index = context.getCurrentIndex();
          final String input = context.getInputBuffer()
              .extract(index, index + maxLength);
  
          /*
           * We now just have to trie and search... (pun intended)
           */
          final int ret = trie.search(input, false);
          if (ret == -1)
              return false;
  
          /*
           * and since the result, when positive, is the length of the match,
           * advance the index in the buffer by that many positions.
           */
          context.advanceIndex(ret);
          return true;
      }
docs: Tries a match on the given MatcherContext.
  
  @param context the MatcherContext
  @return true if the match was successful