code: public static void cleanUpAltLocs(Structure structure) {
  		for (int i =0; i< structure.nrModels() ; i++){
  			for (Chain chain : structure.getModel(i)) {
  				for (Group group : chain.getAtomGroups()) {
  					for (Group altLocGroup : group.getAltLocs()) {
  						for ( Atom groupAtom : group.getAtoms()) {
  							// If this alt loc doesn't have this atom
  							if (! altLocGroup.hasAtom(groupAtom.getName())) {
  								// Fix for microheterogenity
  								if (altLocGroup.getPDBName().equals(group.getPDBName())) {
  									// If it's a Hydrogen then we check for it's Deuterated brother
  									if(!hasDeuteratedEquiv(groupAtom, altLocGroup)){
  										altLocGroup.addAtom(groupAtom);
  									}
  								}
  							}
  						}
  					}
  				}
  			}
  		}
  	}
docs: Cleans up the structure's alternate location (altloc) groups. All alternate location groups should have all atoms (except
  in the case of microheterogenity) or when a deuterium exists.
  Ensure that all the alt loc groups have all the atoms in the main group.
  @param structure The Structure to be cleaned up