def METHOD_NAME(pdb_hierarchy,
                                         xray_structure,
                                         geometry_restraints_manager,
                                         log,
                                         ):
  assert 0
  for atom_group in generate_atom_groups(pdb_hierarchy, resnames=['CD']):
    selection = flex.bool(xray_structure.scatterers().size())
    for atom in atom_group.atoms(): selection[atom.i_seq]=True
    print(list(selection))
    selection_within = xray_structure.selection_within(3.5, selection)
    print(list(selection_within))
    #sel = selection.select(selection_within)
    sphere = pdb_hierarchy.select(selection_within)
    print(list(geometry_restraints_manager.nonbonded_charges))
    rc = geometry_restraints_manager.select(selection=selection_within)
    print(dir(rc))
    print(list(rc.nonbonded_charges))
    print(dir(rc))
    print(sphere)
    print(dir(sphere))
    sites_cart = sphere.atoms().extract_xyz()
    for atom in sphere.atoms(): print(atom.quote())
    #generate_proxies_from_geometry_restraints_manager_nonbonded_proxies(
    #    sphere, #pdb_hierarchy,
    #    rc,
    #    #sites_cart,
    #    log,
    #    )
    #assert 0
    #sphere.show()
    print('-'*80)
    for atom in atom_group.atoms():
      print(atom.format_atom_record())
      #if atom.name.strip().find("S"): continue
      min_dist = minimum_distance_class()
      for other in sphere.atoms():
        print(other.format_atom_record(), d2(atom, other))
        if atom.i_seq==other.i_seq: continue
        min_dist[d2(atom, other)] = other
        min_dist["%s %s %s" % (other.parent().resname,
                               other.parent().parent().resseq,
                               other.parent().altloc,
                               )] = d2(atom, other)
        #print min_dist
        #print min_dist.get_closest()
        #continue
        proxy = geometry_restraints.bond_simple_proxy(
          i_seqs=(atom.i_seq, other.i_seq),
          distance_ideal=1, #distance_ideal,
          weight=1, #weight/(sigma ** 2),
          #slack=slack,
          #top_out=top_out,
          #limit=limit,
        )
        #print dir(proxy)
        print(atom.i_seq, other.i_seq, proxy.rt_mx_ji)