class CPList

pri next : CPList;

pri info : Object;

meth Setnext =^ ( val n: CPList ·

next:= n;

)

end

meth Getnext =^ ( res n: CPList ·

n:= next;

)

end

meth Setinfo =^ ( val o: Object ·

info:= o;

)

end

meth Getinfo =^ ( res o: Object ·

o:= info;

)

end

meth FindCPList =^ ( val count: Int;

res entry: CPList ·

var next: CPList ·

if [] count = 1 -> entry:= self;

[] count > 1 ->

self.GetNext(next);

next.FindCPList(count-1, entry);

fi

end

)

end

 

end