def METHOD_NAME(self,
                  restraint_value_pairs,
                  cdl_proxies,
                  ideal=True,
                  esd=True,
                  esd_factor=1.,
                  average=True,
                  verbose=False,
                  ):
    if not average:
      if restraint_value_pairs[0]=="I":
        print(restraint_values)
        assert 0
        return
    atoms = self.get_i_seqs()
    for j, restraint_values in enumerate(restraint_value_pairs):
      if restraint_values is None: continue
      for i, value in enumerate(restraint_values):
        if verbose:
          print('i,value',i,value)
        if i<2: continue
        if columns[i][0]=="s": continue
        code = columns[i][1:]
        names = []
        if code=="ACNA":
          if j:
            names = ["CA_i", "C_i", "N_plus_1", "CA_plus_1"]
          else:
            names = ["CA_minus_1", "C_minus_1", "N_i", "CA_i"]
        for j in range(len(names)):
          names[j] = atoms[names[j]].i_seq
        if len(names)==4:
          rnames = copy.deepcopy(names)
          rnames.reverse()
          angle_proxy = cdl_proxies.get(tuple(names), None)
          if angle_proxy is None:
            angle_proxy = cdl_proxies.get(tuple(rnames), None)
          if angle_proxy is None:
            outl=""
            for key in atoms:
              outl += "\n    %-10s %s" % ( key, atoms[key].quote())
            raise Sorry("""CDL angle to be changed not set in model.
  Possible problems:
    Residue on special positions.
  Check:%s""" % outl)
          if verbose:
            print(" i_seqs %-15s initial %12.3f %12.3f final %12.3f %12.3f" % (
              angle_proxy.i_seqs,
              angle_proxy.angle_ideal,
              angle_proxy.weight,
              restraint_values[i],
              1/restraint_values[i+1]**2,
              ))
          names.sort()
          self.registry[tuple(names)] = restraint_values[i]
          if ideal: angle_proxy.angle_ideal = restraint_values[i]
          if esd: angle_proxy.weight = esd_factor * 1/restraint_values[i+1]**2
        else:
          assert 0