code: public NullnessStore uprootAccessPaths(
        Map<LocalVariableNode, LocalVariableNode> localVarTranslations) {
      NullnessStore.Builder nullnessBuilder = NullnessStore.empty().toBuilder();
      for (AccessPath ap : contents.keySet()) {
        if (ap.getRoot().isReceiver()) {
          continue;
        }
        Element varElement = ap.getRoot().getVarElement();
        for (LocalVariableNode fromVar : localVarTranslations.keySet()) {
          if (varElement.equals(fromVar.getElement())) {
            LocalVariableNode toVar = localVarTranslations.get(fromVar);
            AccessPath newAP =
                new AccessPath(new AccessPath.Root(toVar.getElement()), ap.getElements());
            nullnessBuilder.setInformation(newAP, contents.get(ap));
          }
        }
      }
      return nullnessBuilder.build();
    }
docs: Takes the Access Paths rooted at specific locals in this NullnessStore and translates them to
  paths rooted at different/renamed local variables.
  
  <p>This method is used to patch-around the paths inter-procedurally when handling certain
  libraries. For example, by {@code handlers.RxNullabilityPropagator} to translate access paths
  relative to the argument of a filter(...) method, to paths relative to the argument of a
  map(...) method in a filter(...).map(...) chain pattern.
  
  @param localVarTranslations A map from local variable nodes to local variable nodes, indicating
  the desired re-rooting / re-naming.
  @return A store containing only those access paths in {@code this} which are relative to
  variables in the domain of {@code localVarTranslations}, with each access path re-rooted to
  be relative to the corresponding local variable in the co-domain of the map.