@Override
  public boolean consume(CodeReader code, TokenQueue output) {
    if (code.popTo(matcher, tmpBuilder) > 0) {
      // see SONAR-2499
      Cursor previousCursor = code.getPreviousCursor();
      if (normalizationValue != null) {
        output.add(new Token(normalizationValue, previousCursor.getLine(), previousCursor.getColumn()));
      } else {
        output.add(new Token(tmpBuilder.toString(), previousCursor.getLine(), previousCursor.getColumn()));
      }
      // Godin: note that other channels use method delete in order to do the same thing
      tmpBuilder.setLength(0);
      return true;
    }
    return false;
  }
@Test
  public void shouldNotConsume() {
    TokenChannel channel = new TokenChannel("ABC");
    TokenQueue output = mock(TokenQueue.class);
    CodeReader codeReader = new CodeReader("123");

    assertThat(channel.consume(new CodeReader("123"), output), is(false));
    verifyNoInteractions(output);
    assertThat(codeReader.getLinePosition(), is(1));
    assertThat(codeReader.getColumnPosition(), is(0));
  }