updateReference(scope, binding, oldName, newName) {
    let parent = scope;
    do {
      const ref = this.references.get(parent);

      ref.delete(oldName);
      ref.add(newName);

      if (!binding) {
        // Something went wrong - panic
        throw new Error(
          "Binding Not Found during scopeTracker.updateRefernce " +
            `while updating "${oldName}" to "${newName}". ` +
            `Please report at ${newIssueUrl}`
        );
      }

      if (binding.scope === parent) break;
    } while ((parent = parent.parent));
  }
Update reference count in all scopes between and including the
Referenced Scope and the Binding's Scope

@param {Scope} scope
@param {Binding} binding
@param {String} oldName
@param {String} newName