code: protected void closeIdleChannels ()
      {
          long now = System.currentTimeMillis();
          Iterator<Map.Entry<ChatChannel, ChannelInfo>> iter = _channels.entrySet().iterator();
          while (iter.hasNext()) {
              Map.Entry<ChatChannel, ChannelInfo> entry = iter.next();
              if (now - entry.getValue().lastMessage > IDLE_CHANNEL_CLOSE_TIME) {
                  ((CrowdNodeObject)_peerMan.getNodeObject()).removeFromHostedChannels(
                      entry.getKey());
                  iter.remove();
              }
          }
      }
docs: Called periodically to check for and close any channels that have been idle too long.