code: @VisibleForTesting
    Map<String, LookupExtractorFactoryMapContainer> getToBeLoadedOnNode(
        LookupsState<LookupExtractorFactoryMapContainer> currLookupsStateOnNode,
        Map<String, LookupExtractorFactoryMapContainer> nodeTierLookupsToBe
    )
    {
      Map<String, LookupExtractorFactoryMapContainer> toLoad = new HashMap<>();
      for (Map.Entry<String, LookupExtractorFactoryMapContainer> e : nodeTierLookupsToBe.entrySet()) {
        String name = e.getKey();
        LookupExtractorFactoryMapContainer lookupToBe = e.getValue();
  
        // get it from the current pending notices list on the node
        LookupExtractorFactoryMapContainer current = currLookupsStateOnNode.getToLoad().get(name);
  
        if (current == null) {
          //ok, not on pending list, get from currently loaded lookups on node
          current = currLookupsStateOnNode.getCurrent().get(name);
        }
  
        if (current == null || //lookup is neither pending nor already loaded on the node OR
            currLookupsStateOnNode.getToDrop().contains(name) || //it is being dropped on the node OR
            lookupToBe.replaces(current) //lookup is already know to node, but lookupToBe overrides that
            ) {
          toLoad.put(name, lookupToBe);
        }
      }
      return toLoad;
    }
docs: It is assumed that currLookupsStateOnNode "toLoad" and "toDrop" are disjoint.