inst 1,call #1 -> evaluates to false, moves to #2
inst 1,call #2 -> evaluates to false, moves to #3
inst 1,call #3 -> evaluates to false, moves to #4
inst 1,call #4 -> starts inst 2 - findPath(0,0,0)
inst 2,call #1 -> evaluates to false, moves to #2
inst 2,call #2 -> evaluates to false, moves to #3
inst 2,call #3 -> evaluates to true, returns FALSE back to inst1
inst 1,call #4 -> returned value is false, moves to #5
inst 1,call #5 -> starts inst 3 - findPath(1,1,1)
inst 3,call #1 -> evaluates to false, moves to #2
inst 3,call #2 -> evaluates to false, moves to #3
inst 3,call #3 -> evaluates to false, moves to #4
inst 3,call #4 -> starts inst 4 - findPath(1,0,0)
inst 4,call #1 -> evaluates to false, moves to #2
inst 4,call #2 -> evaluates to false, moves to #3
inst 4,call #3 -> evaluates to false, moves to #4
inst 4,call #4 -> starts inst 5 - findPath(1,-1,0)
inst 5,call #1 -> evalutes to true, returns FALSE back to inst 4
inst 4,call #4 -> returned value is false, moves to #5
inst 4,call #5 -> starts inst 6 - findPath(2,0,1)
inst 6,call #1 -> evaluates to false, moves to #2
inst 6,call #2 -> evaluates to false, moves to #3
inst 6,call #3 -> evaluates to true, returns FALSE back to inst 4
inst 4,call #5 -> returned value is false, moves to #6
inst 4,call #6 -> evaluates to false, moves to #7
inst 4,call #7 -> starts inst 7 - findPath(0,0,3)
inst 7,call #1 -> evaluates to false, moves to #2
inst 7,call #2 -> evaluates to false, moves to #3
inst 7,call #3 -> evaluates to true, returns FALSE back to inst 4
inst 4,call #7 -> returned value is false, moves to #8
inst 4,call #8 -> returns FALSE back to inst 3
inst 3,call #4 -> returned value is false, moves to #5
inst 3,call #5 -> starts inst 8 - findPath(2,1,1)
inst 8,call #1 -> evaluates to false, moves to #2
inst 8,call #2 -> evaluates to false, moves to #3
inst 8,call #3 -> evaluates to false, moves to #4
inst 8,call #4 -> starts inst 9 - findPath(2,0,0)
inst 9,call #1 -> evaluates to false, moves to #2
inst 9,call #2 -> evaluates to false, moves to #3
inst 9,call #3 -> evaluates to true, returns FALSE back to inst 8
inst 8,call #4 -> returned value is false, moves to #5
inst 8,call #5 -> starts inst 10 - findPath(3,1,1)
inst 10,call #1-> evaluates to true, returns FALSE back to inst 8
inst 8,call #5 -> returned value is false, moves to #6
inst 8,call #6 -> starts inst 11 - findPath(2,2,2)
inst 11,call #1-> evaluates to false, moves to #2
inst 11,call #2-> evaluates to true, sets value at index 2,2 to + and returns TRUE to inst 8
inst 8,call #6 -> returned value is true, sets value at index 2,1 to + and returns TRUE to inst 3
inst 3,call #5 -> returned value is true, sets value at index 1,1 to + and returns TRUE to inst 1
inst 1,call #5 -> returned value is true, sets value at index 2,2 to + and returns TRUE