Backwards compatible with java 6. Most of the tests resolved.