minor cleanup
change rethrow() to throw IllegalStateException rather than more generic RuntimeException
update/cleanup javadoc
add testOutput to exclude list