Schrödinger's NullPointer was caused by java iterating too many times in a for each loop..... GJ JAVA. GJ.  It's gone now and the tests pass. gj me.