package NET.worlds.scape; import java.util.Vector; public class ShallowEnumeration extends DeepEnumeration { public ShallowEnumeration(SuperRoot o) { this.roots.addElement(o); o.getChildren(this); } @Override protected void getNextElement() { this.valueRetrieved = false; if (!this.roots.isEmpty()) { this.nextValue = this.roots.elementAt(this.roots.size() - 1); assert this.nextValue != null; this.roots.removeElementAt(this.roots.size() - 1); } else if (this.currentIndex >= 0) { try { this.nextValue = (SuperRoot)this.currentVector.elementAt(this.currentIndex--); } catch (ArrayIndexOutOfBoundsException var2) { this.currentIndex = this.currentVector.size() - 1; this.getNextElement(); } assert this.nextValue != null; } else if (!this.vectors.isEmpty()) { this.currentVector = (Vector)this.vectors.elementAt(this.vectors.size() - 1); this.currentIndex = this.currentVector.size() - 1; this.vectors.removeElementAt(this.vectors.size() - 1); this.getNextElement(); } else { this.nextValue = null; } } }