update javadoc
fix accidental infinite loop in constructors