code: public void add(HelpTopic topic) {
          if (topic != null && topic.getURL() != null && !sameTopic(topic, getCurrentItem())) {
              removeRange(position + 1, history.size());
              removeRange(0, history.size() - maxsize);
              position = history.size();
              history.add(topic);
          }
  
          notifyListeners(topic);
      }
docs: Adds a topic to the history list at the current position. All topics following the current
  position are removed so that the added topic is always the last topic in the history. The
  list is also truncated from the beginning if it exceeds the maximum history length. The added
  topic becomes the current selection and all listeners are notified of the topic change.
  <p>
  Note that if the topic being added is the same as the topic at the current position, the
  request is ignored.
  
  @param topic HelpTopic to add.