docs: protected static BindingSet addOrCheckDefinition(String varName, Variable variable, BindingSet bindingSet) {
          Variable existingVariable = lookup(varName, bindingSet);
          if (existingVariable == null) {
              bindingSet = new BindingSet(new Binding(varName, variable), bindingSet);
          } else {
              if (!existingVariable.sameAs(variable)) {
                  LOG.debug("\tConflicting variable {}: {} != {}", varName, variable, existingVariable);
                  return null;
              }
          }
  
          return bindingSet;
      }