public synchronized Object co_entry_pause(int thisCoroutine) throws java.lang.NoSuchMethodException {
  if (!m_activeIDs.get(thisCoroutine))   throw new java.lang.NoSuchMethodException();
  while (m_nextCoroutine != thisCoroutine) {
    try {
      wait();
    }
 catch (    java.lang.InterruptedException e) {
    }
  }
  return m_yield;
}

public synchronized Object co_entry_pause ( int thisCoroutine ) throws java . lang . NoSuchMethodException { if ( ! m_activeIDs . get ( thisCoroutine ) ) throw new java . lang . NoSuchMethodException ( ) ; while ( m_nextCoroutine != thisCoroutine ) { try { wait ( ) ; } catch ( java . lang . InterruptedException e ) { } } return m_yield ; }
in the standard coroutine architecture , coroutines are identified by their method names and are launched and run up to their first yield by simply resuming them ; its ' s presumed that this recognizes the not - already - running case and does the right thing . we seem to need a way to achieve that same threadsafe run - up . . . eg , start the coroutine with a wait . % tbd % whether this makes any sense . . .
