Merge branch 'issue635' into 1.6.x
use jdk5 compatible IOException constructor
Merge branch 'issue643' into 2.0.x