code: public List<V> getDriftedHistory()
      {
          int historyToGram = Math.min(time - driftStart, history.size());
          ArrayList<V> histList = new ArrayList<V>(historyToGram);
          Iterator<V> histIter = history.descendingIterator();
          while(histIter.hasNext() && historyToGram > 0)
          {
              historyToGram--;
              histList.add(histIter.next());
          }
          return histList;
      }
docs: Returns a new list containing up to {@link #getMaxHistory() } objects in
  the history that drifted away from the prior state of the model. <br>
  The 0 index in the list will be the most recently added item, and the
  largest index will be the oldest item.
  @return the list of objects that make up the effected history