I see a lot of these System.out.printlns. I am assuming they are in here for testing and you actually plan to change the code inside these ifs. If that is the case can you put in some TODOs so we don't forget to change everything that will need to be changed?