Nearly finished the java port of walker.py