Just a passing thought - is there a particular reason this class is written in Java and not Scala?