java porting