JavaOmega: A Translation Semantics for Closures in Java