import java.util.regex.Pattern;
public class Tokeniser {
private static final Pattern directiveSeparator = Pattern.compile(";");
private static final Pattern policySeparator = Pattern.compile(",");
private static final Pattern directiveNamePattern = Pattern.compile("[a-zA-Z0-9-]+");
<BUG>private static final Pattern directiveValuePattern = Pattern.compile("[!-+--:<-~]+");

@Nonnull protected final ArrayList<Token> tokens;</BUG>
@Nonnull protected final String sourceText;
protected final int length;

import java.util.regex.Pattern;
public class Tokeniser {
private static final Pattern directiveSeparator = Pattern.compile(";");
private static final Pattern policySeparator = Pattern.compile(",");
private static final Pattern directiveNamePattern = Pattern.compile("[a-zA-Z0-9-]+");
private static final Pattern directiveValuePattern = Pattern.compile("[ \\t!-+--:<-~]+");
private static final Pattern notSeparator = Pattern.compile("[^;,]");
@Nonnull protected final ArrayList<Token> tokens;
@Nonnull protected final String sourceText;
protected final int length;
