all the java design and doc