package clist; abstract class ANode { abstract Object getDat(CLList parent); abstract void setDat(Object dat, CLList parent); abstract CLList getClockwiseTail(CLList parent); abstract CLList getCounterwiseTail(CLList parent); abstract void insertClockwise(Object dat, CLList parent); abstract void insertCounterwise(Object dat, CLList parent); abstract Object removeClockwise(CLList parent); abstract Object removeCounterwise(CLList parent); abstract Object execClockwise(ICLVisitor algo, CLList start, Object input, CLList parent); abstract Object execCounterwise(ICLVisitor algo, CLList start, Object input, CLList parent); abstract void setClockwiseParent(CLList cllist); abstract void setCounterwiseParent(CLList cllist); }