code: public void record (ChatChannel channel, String source, UserMessage msg, Name ...usernames)
      {
          // fill in the message's time stamp if necessary
          if (msg.timestamp == 0L) {
              msg.timestamp = System.currentTimeMillis();
          }
  
          Entry entry = new Entry(channel, source, msg);
          for (Name username : usernames) {
              // add the message to this user's chat history
              List<Entry> history = getList(username);
              if (history == null) {
                  continue;
              }
  
              history.add(entry);
  
              // if the history is big enough, potentially prune it (we always prune when asked for
              // the history, so this is just to balance memory usage with CPU expense)
              if (history.size() > 15) {
                  prune(msg.timestamp, history);
              }
          }
      }
docs: Records the specified channel and message to the specified users' chat histories.  If {@link
  ChatMessage#timestamp} is not already filled in, it will be.