Initial commit of Java port.