public synchronized Object sfResolveHereOrWait(Object name, long timeout)
public Object sfResolveHereOrWait(Object name, long timeout)
    public synchronized Object sfResolveHereOrWait(Object name, long timeout)        throws Exception {        long endTime = (new Date()).getTime() + timeout;        while (true) {            try {                // try to return the attribute value                return sfResolveHere(name);            } catch (SmartFrogResolutionException ex) {                // not found, wait for leftover timeout                long now = (new Date()).getTime();                if (now >= endTime) {                    throw ex;                }                wait(endTime - now);            }        }    }