code: private void startIdleTimer(final DownstreamChannel downstreamChannel, int delayInMilliseconds) {
          LOG.fine("Starting idle timer");
          if (downstreamChannel.idleTimer != null) {
              downstreamChannel.idleTimer.cancel();
              downstreamChannel.idleTimer = null;
          }
          
          downstreamChannel.idleTimer = new Timer();
          downstreamChannel.idleTimer.schedule(new TimerTask() {
              
              @Override
              public void run() {
                  idleTimerHandler(downstreamChannel);
              }
              
          }, delayInMilliseconds);
      }
docs: ------------------------------Idle Timer Start/Stop/Handler---------------------//