for (ISeq<IMapEntry<EObject,Object>> seq = map.seq();seq != null;seq = seq.next()) {
IMapEntry<EObject,Object> ent = (IMapEntry<EObject,Object>) seq.first();
if (ent == null) return Native.am_$end_of_table;
EObject key = (EObject) ent.getKey();
if (key.equalsExactly(from)) {
seq = seq.next();
if (seq == null) return Native.am_$end_of_table;
ent = (IMapEntry<EObject,Object>) seq.first();
if (ent == null) return Native.am_$end_of_table;
return (EObject) ent.getKey();