package org.nwapw.abacus.lexing.pattern;

import java.util.ArrayList;

public class PatternNode<T> {

    protected ArrayList<PatternNode<T>> outputStates;

    public PatternNode(){
        outputStates = new ArrayList<>();
    }

    public boolean matches(char other){
        return false;
    }

    public char range(){
        return '\0';
    }

    public void addInto(ArrayList<PatternNode<T>> into){
        into.add(this);
    }

}

@@ -62,16 +62,42 @@
 rayList;
+%0Aimport java.util.HashSet;
 %0A%0Apublic
@@ -135,24 +135,22 @@
 otected 
-ArrayLis
+HashSe
 t%3CPatter
@@ -227,24 +227,22 @@
 s = new 
-ArrayLis
+HashSe
 t%3C%3E();%0A 

Switch underlying implementation to Set from List.