Do you mind pulling all of this out into a separate submatcher? With so many checks this file is getting pretty large. That way you can split up some of the stuff this method is doing into separate methods.