add more documentation for java