code: private void handleNewGap(long startstamp, long endstamp)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(
                          tc,
                          "handleNewGap",
                          new Object[] { Long.valueOf(startstamp), Long.valueOf(endstamp) });
  
          TickRange tr = new TickRange(TickRange.Requested, startstamp, endstamp);
          oststream.writeRange(tr);
  
          // SIB0115 
          // Update Health State due to detected gap
          getControlAdapter().getHealthState().updateHealth(HealthStateListener.GAP_DETECTED_STATE,
                                                            HealthState.AMBER);
  
          NRTExpiryHandle nexphandle = new NRTExpiryHandle(tr, this);
          nexphandle.timer =
                          am.create(mp.getCustomProperties().getGapCuriosityThreshold(), nexphandle);
  
          addAlarm(this, nexphandle);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "handleNewGap");
      }
docs: all methods calling this are already synchronized
  
  @exception GDException thrown from the writeRange method