A Transparent Distributed Runtime for Java