Java port (16/24)

Java port