Java Program Language Documentation Theories