question: public void insert ( UndoObjectStorable p_object ) { if ( p_object == null ) throw new IllegalArgumentException ( classname + "insert p_object is null" ) ; disable_redo ( ) ; UndoObjectNode undoable_object = new UndoObjectNode ( p_object , stack_level ) ; objects_map . put ( p_object , undoable_object ) ; }
target:  Adds p_object to the UndoableObjectsList A check is made to make sure that p_object is non null By doing this I am guarantee that a get will always return a non null object