Simplify
extends TestSupport
Mark types as @VisibleForTesting to help indicate they should be injected an not created directly unless by tests
Mark format as @VisibleForTesting to help indicate they should be injected an not created directly unless by tests
Mark logic matchers as @VisibleForTesting to help indicate the LogicMatchers factory should be used to create these.
Mark logic matchers as @VisibleForTesting to help indicate the LogicMatchers factory should be used to create these.
Rename TokenMatcherInternal to TokenParser, update javadocs.
Tidy some impl
Add TokenMatcher.State to expose matched tokens.