Credit RadicalZephyr for help with Clojure and Java.