Java port (12/24)

Java port