docs: public Map<Long, Data> compareAndRemove(Collection<Data> dataList, boolean retain) {
          LinkedHashMap<Long, Data> map = new LinkedHashMap<Long, Data>();
          for (QueueItem item : getItemQueue()) {
              if (item.getData() == null && store.isEnabled()) {
                  try {
                      load(item);
                  } catch (Exception e) {
                      throw new HazelcastException(e);
                  }
              }
              boolean contains = dataList.contains(item.getData());
              if ((retain && !contains) || (!retain && contains)) {
                  map.put(item.getItemId(), item.getData());
              }
          }
  
          mapIterateAndRemove(map);
  
          return map;
      }