javadoc and add case for obj.notify, unfinished, bug remain