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);
}

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 ) ; }
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
