Variable existingVariable = lookup(varName, bindingSet); if (existingVariable == null) { bindingSet = new BindingSet(new Binding(varName, existingVariable), bindingSet); } else { if (!existingVariable.equals(variable)) return null; }  return bindingSet;
return addOrCheckDefinition(varName, variable, bindingSet);
	protected BindingSet addOrCheckDefinition(Variable variable, BindingSet bindingSet) {		Variable existingVariable = lookup(varName, bindingSet);		if (existingVariable == null) {			bindingSet = new BindingSet(new Binding(varName, existingVariable), bindingSet);		} else {			if (!existingVariable.equals(variable))				return null;		}		return bindingSet;	}