This class is a GenericPatternCache subclass implementing a second
chance FIFO (First In First Out) cache replacement policy. In other
words, patterns are added to the cache until the cache becomes full.
Once the cache is full, when a new pattern is added to the cache, it
replaces the first of the current patterns in the cache to have been
added, unless that pattern has been used recently (generally
between the last cache replacement and now).
If the pattern to be replaced has been used, it is given
a second chance, and the next pattern in the cache is tested for
replacement in the same manner. If all the patterns are given a
second chance, then the original pattern selected for replacement is
replaced.
PatternCacheFIFO2(int capacity,
PatternCompiler compiler)
Creates a PatternCacheFIFO2 instance with a given cache capacity,
initialized to use a given PatternCompiler instance as a pattern compiler.