Lots more javadoc.