code: public final void revert() {
  
          if (tagged) {
  
              // Remove the added entries
              final Iterator<K> addedIt = added.keySet().iterator();
              while (addedIt.hasNext()) {
                  final K key = addedIt.next();
                  map.remove(key);
                  addedIt.remove();
              }
  
              // Replace the changed entries
              final Iterator<K> changedIt = changed.keySet().iterator();
              while (changedIt.hasNext()) {
                  final K key = changedIt.next();
                  final V value = changed.get(key);
                  map.put(key, value);
                  changedIt.remove();
              }
  
              // Add the removed entries
              final Iterator<K> removedIt = removed.keySet().iterator();
              while (removedIt.hasNext()) {
                  final K key = removedIt.next();
                  final V value = removed.get(key);
                  map.put(key, value);
                  removedIt.remove();
              }
  
          }
  
      }
docs: Roll back all changes made since construction. This is the same function ad {@link #revertToTag()}. If the map is not in tag mode (
  this means {@link #isTagged()} returns <code>true</code>) this method will do nothing.