code: public CmsFormatterConfigurationCacheState createUpdatedCopy(Map<CmsUUID, I_CmsFormatterBean> updateFormatters) {
  
          Map<CmsUUID, I_CmsFormatterBean> newFormatters = Maps.newHashMap(getFormatters());
          for (Map.Entry<CmsUUID, I_CmsFormatterBean> entry : updateFormatters.entrySet()) {
              CmsUUID key = entry.getKey();
              I_CmsFormatterBean value = entry.getValue();
              if (value != null) {
                  newFormatters.put(key, value);
              } else {
                  newFormatters.remove(key);
              }
          }
          return new CmsFormatterConfigurationCacheState(newFormatters);
      }
docs: Creates a new copy of this state in which some entries are removed or replaced.<p>
  
  This does not change the state object on which the method is called.
  
  @param updateFormatters a map of formatters to change, where the key is the structure id and the value is either the replacement or null if the map entry should be removed
  
  @return the updated copy