code: @Override
      public InjectiveVar2VarSubstitution generateNotConflictingRenaming(VariableGenerator variableGenerator,
                                                                         ImmutableSet<Variable> variables) {
          ImmutableMap<Variable, Variable> newMap = variables.stream()
                  .map(v -> new AbstractMap.SimpleEntry<>(v, generateNonConflictingVariable(v, variableGenerator, variables)))
                  .filter(pair -> ! pair.getKey().equals(pair.getValue()))
                  .collect(ImmutableCollectors.toMap());
  
          return getInjectiveVar2VarSubstitution(newMap);
      }
docs: Non-conflicting variable:
  - initial variable of the variable set not known by the generator
  - or a fresh variable generated by the generator NOT PRESENT in the variable set