docs: void internalAddChange(String valuePath, String attributeName, int valueIndex, ChangeType changeType) {
  
          m_changeTimer = null;
          //TODO: keep the IDs, otherwise redo will not work
          CmsEntity currentData = m_entity.cloneEntity();
          if (!currentData.equals(m_current.getEntityData())) {
              m_undo.push(m_current);
              m_current = new Change(currentData, valuePath, attributeName, valueIndex, changeType);
              m_redo.clear();
              fireStateChange();
          }
      }