If a token is already marked as a keyword (KeywordAttribute.isKeyword() == true), perhaps the KeywordMarkerFilterFactory should not re-set the state to false.
hey Drew, I think I see you point here but I disagree that we should consider the previous state of the KeywordAttribute in this filter. IMO this filter is very clearly defined and extremely simple. If you want it to have different behavior eg. considering the attrs state you can simply write your own filter that. This one is more or less just a simple PoC how the KeywordAttribute works / should be used etc.
I think if we change the behavior we will have JIRA issues that say "KeywordMarkerFilter does not reset attribute state to false for tokens not in protwords.txt" - you know what I mean, this one is tricky and special use-cases should have their own kind of trivial impls.