@Override
  public boolean matchToken(TokenQueue tokenQueue, List<Token> matchedTokenList) {
    matcher.matchToken(tokenQueue, matchedTokenList);
    return true;
  }
@Test
  public void shouldMatch() {
    TokenQueue tokenQueue = spy(new TokenQueue());
    TokenMatcher delegate = mock(TokenMatcher.class);
    OptTokenMatcher matcher = new OptTokenMatcher(delegate);
    List<Token> output = mock(List.class);

    assertThat(matcher.matchToken(tokenQueue, output), is(true));
    verify(delegate).matchToken(tokenQueue, output);
    verifyNoMoreInteractions(delegate);
    verifyNoMoreInteractions(tokenQueue);
    verifyNoMoreInteractions(output);
  }