Integrate jdk8-compatibility  branch with master