public void waitForID(final VaultID id,final long timeoutMS){
  if (timeoutMS <= 0) {
    throw new IllegalArgumentException("Must suppply positive timeout argument");
  }
  final long endTime=timeoutMS + System.currentTimeMillis();
  while (System.currentTimeMillis() < endTime && !knowsAbout(id)) {
synchronized (m_waitForLock) {
      if (knowsAbout(id)) {
        return;
      }
      try {
        final long waitTime=endTime - System.currentTimeMillis();
        if (waitTime > 0) {
          m_waitForLock.wait(waitTime);
        }
      }
 catch (      final InterruptedException e) {
      }
    }
  }
}

public void waitForID ( final VaultID id , final long timeoutMS ) { if ( timeoutMS <= 0 ) { throw new IllegalArgumentException ( "Must suppply positive timeout argument" ) ; } final long endTime = timeoutMS + System . currentTimeMillis ( ) ; while ( System . currentTimeMillis ( ) < endTime && ! knowsAbout ( id ) ) { synchronized ( m_waitForLock ) { if ( knowsAbout ( id ) ) { return ; } try { final long waitTime = endTime - System . currentTimeMillis ( ) ; if ( waitTime > 0 ) { m_waitForLock . wait ( waitTime ) ; } } catch ( final InterruptedException e ) { } } } }
waits until we know about a given vault id . waits for at most timeout milliseconds
