Change the WhiteSpace
rule to send the token to a hidden channel rather than skipping altogether.
WhiteSpace : [ \t\r\n]+ -> channel(HIDDEN);
The parser won't see the white space, but the NetBeans lexer will be happy that there is a valid token returned for all the input.