question: public void addSnapshot ( final CSelectionSnapshot snapshot ) { m_snapshotList . add ( snapshot ) ; if ( m_snapshotList . size ( ) > m_maxSnapshots ) { m_snapshotList . remove ( 0 ) ; for ( final ISelectionHistoryListener listener : m_listeners ) { listener . snapshotRemoved ( ) ; } } m_undoIndex = size ( ) - 1 ; for ( final ISelectionHistoryListener listener : m_listeners ) { listener . snapshotAdded ( snapshot ) ; } }
target:  Adds a new selection snapshot to the selection history.