package NET.worlds.scape; import java.util.Enumeration; import java.util.Vector; public class MetaEnumeration implements Enumeration { private Vector v; private int index; MetaEnumeration(Vector v) { assert v.size() > 0; this.v = v; this.index = 0; this.advanceToNext(); } @Override public boolean hasMoreElements() { return ((Enumeration)this.v.elementAt(this.index)).hasMoreElements(); } @Override public Object nextElement() { Object e = ((Enumeration)this.v.elementAt(this.index)).nextElement(); this.advanceToNext(); return e; } private void advanceToNext() { while (!((Enumeration)this.v.elementAt(this.index)).hasMoreElements()) { if (++this.index == this.v.size()) { this.index--; break; } } } }