public static void siWait(Object o,long time){
  try {
    if (time == -1)     o.wait();
 else     o.wait(time);
  }
 catch (  InterruptedException e) {
    throw new SIException();
  }
  abortOrPauseIfNecessary();
}

public static void siWait ( Object o , long time ) { try { if ( time == - 1 ) o . wait ( ) ; else o . wait ( time ) ; } catch ( InterruptedException e ) { throw new SIException ( ) ; } abortOrPauseIfNecessary ( ) ; }
like a regular wait , but throws runtime exception , siexception if interrupted
