try {
Object eobject = externalNode.getExternal();
Object args[] = { startAt };
Class acls[] = { startAt.getClass() };
Method meth;
Node mnode = startAt.elementAt(0);
mnode.requireNodeType(Node.TYPE_QSYMBOL);
String mname = PCoder.unselfing(mnode.getSymbol().getStr());
try {
meth = eobject.getClass().getMethod(Name.toExternal(mname), acls);
}
catch (Exception ex1) {
ex1.printStackTrace();
meth = null;
}
if (meth == null)
throw new InterpreterException(StdErrors.extend(StdErrors.External_error, "not found " + mname + " : "+externalNode ));
Node old_self = SELF.swap(externalNode);
Object obj = meth.invoke(eobject, args);
SELF.restore(old_self);
if (obj != null)