Hi Doug: this is for the next hw: /proj/adaptive2/course/com1205/f00/hw/2/withDJ-capacity-with-stack Please can you tell me why I get a null pointer exception. -- Karl Demeter/Java version 0.8.1 Copyright (c) 2000 Northeastern University Reading project file program.prj... Running the test... start new container sum 0 start new container sum 1 start new container sum 2 end container sum 3 total weight 3 but limit is = 1 OVER CAPACITY end container sum 4 sum 5 total weight 6 but limit is = 5 OVER CAPACITY end container SUCCESS done DJ start The DJ version is: DJ version 0.8.1 The class graph is============================= java.lang.Object : Item | Item_List | Capacity | Token | java.lang.String | java.lang.Throwable | java.lang.Number | Nonempty_Item_List | java.util.AbstractCollection | SummingVisitor | DifferenceVisitor | CheckingVisitor | UniversalVisitor | Main | edu.neu.ccs.demeter.dj.Visitor | edu.neu.ccs.demeter.Ident | Weight | ParserTokenManager | ASCII_UCodeESC_CharStream | Parser | java.io.Reader | java.lang.StringBuffer | java.io.Writer | java.lang.reflect.AccessibleObject | edu.neu.ccs.demeter.AroundContinuation common . Item : Container | Simple common extends java.lang.Object. Container = Item_List Capacity extends Item. Item_List = Nonempty_Item_List Nonempty_Item_List extends java.lang.Object implements java.util.Enumeration, java.lang.Cloneable. java.util.Enumeration : Item_List common . java.lang.Cloneable : Item_List | java.util.Vector common . Capacity = java.lang.Integer extends java.lang.Object. ParseException = boolean Token int java.lang.String java.lang.String extends java.lang.Exception. boolean = . Token = int int int int int java.lang.String Token Token extends java.lang.Object. int = . java.lang.String = extends java.lang.Object implements java.io.Serializable, java.lang.Comparable. java.io.Serializable : java.lang.String | java.lang.Throwable | java.lang.Number | java.util.Vector | edu.neu.ccs.demeter.Ident | java.lang.StringBuffer common . java.lang.Comparable : java.lang.String | java.lang.Integer common . java.lang.Exception : ParseException common extends java.lang.Throwable. java.lang.Throwable : java.lang.Exception | java.lang.Error common java.lang.Object java.lang.String extends java.lang.Object implements java.io.Serializable. java.lang.Integer = extends java.lang.Number implements java.lang.Comparable. java.lang.Number : java.lang.Integer common extends java.lang.Object implements java.io.Serializable. Nonempty_Item_List = Item Nonempty_Item_List extends java.lang.Object. DifferenceVisitor = int java.util.Stack SummingVisitor extends java.lang.Object. java.util.Stack = extends java.util.Vector. java.util.Vector : java.util.Stack common extends java.util.AbstractList implements java.util.List, java.lang.Cloneable, java.io.Serializable. java.util.AbstractList : java.util.Vector common extends java.util.AbstractCollection implements java.util.List. java.util.AbstractCollection : java.util.AbstractList common extends java.lang.Object implements java.util.Collection. java.util.Collection : java.util.AbstractCollection | java.util.List common java.lang.Object. java.util.List : java.util.AbstractList | java.util.Vector common extends java.util.Collection. SummingVisitor = java.lang.Integer extends java.lang.Object. CheckingVisitor = DifferenceVisitor java.lang.Integer extends java.lang.Object. UniversalVisitor : PrintVisitor | TraceVisitor | DisplayVisitor | EqualVisitor | SubgraphVisitor | CopyVisitor common extends java.lang.Object. Main = extends java.lang.Object. SummingVisitorDJ = int extends edu.neu.ccs.demeter.dj.Visitor. edu.neu.ccs.demeter.dj.Visitor : SummingVisitorDJ | DifferenceVisitorDJ | CheckingVisitorDJ common extends java.lang.Object. DifferenceVisitorDJ = int java.util.Stack SummingVisitorDJ extends edu.neu.ccs.demeter.dj.Visitor. CheckingVisitorDJ = DifferenceVisitorDJ int extends edu.neu.ccs.demeter.dj.Visitor. Simple = edu.neu.ccs.demeter.Ident Weight extends Item. edu.neu.ccs.demeter.Ident = extends java.lang.Object implements java.io.Serializable. Weight = java.lang.Integer extends java.lang.Object. Parser = ParserTokenManager ASCII_UCodeESC_CharStream Token Token int int java.util.Vector int int extends java.lang.Object implements ParserConstants. ParserTokenManager = ASCII_UCodeESC_CharStream java.lang.StringBuffer int int char int int int int int int extends java.lang.Object implements ParserConstants. ParserConstants : ParserTokenManager | Parser common . ASCII_UCodeESC_CharStream = int int int int int int int int java.io.Reader boolean boolean char char int int int extends java.lang.Object. java.io.Reader = extends java.lang.Object. char = . java.lang.StringBuffer = extends java.lang.Object implements java.io.Serializable. TokenMgrError = int extends java.lang.Error. java.lang.Error : TokenMgrError common extends java.lang.Throwable. PrintVisitor = int boolean java.io.PrintWriter extends UniversalVisitor. java.io.PrintWriter = extends java.io.Writer. java.io.Writer : java.io.PrintWriter common extends java.lang.Object. TraceVisitor = int java.io.PrintWriter extends UniversalVisitor. DisplayVisitor = int java.io.PrintWriter extends UniversalVisitor. EqualVisitor = boolean java.util.Stack extends UniversalVisitor. SubgraphVisitor = boolean java.util.Stack extends UniversalVisitor. CopyVisitor = java.util.Stack extends UniversalVisitor. __Subtraversal = java.lang.reflect.Method java.lang.Object java.lang.Object extends edu.neu.ccs.demeter.AroundContinuation. java.lang.reflect.Method = extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member. java.lang.reflect.AccessibleObject : java.lang.reflect.Method common extends java.lang.Object. java.lang.reflect.Member : java.lang.reflect.Method common . edu.neu.ccs.demeter.AroundContinuation : __Subtraversal common extends java.lang.Object. edu.neu.ccs.demeter.dj.Collection = java.lang.Object. end class graph ============================= check container begin Exception in thread "main" java.lang.NullPointerException at edu.neu.ccs.demeter.dj.ObjectGraphSlice.traverse(ObjectGraphSlice.java:71) at edu.neu.ccs.demeter.dj.TraversalGraph.traverse(TraversalGraph.java:53) at Container.checkCapacityDJ(Container.java:64) at Main.main(Main.java:37)