code: public static MultipleAlignment toRepeatsAlignment(CeSymmResult result)
  			throws StructureException {
  
  		if (!result.isRefined())
  			throw new IllegalArgumentException("The symmetry result "
  					+ "is not refined, repeats cannot be defined");
  
  		MultipleAlignment msa = result.getMultipleAlignment();
  		MultipleAlignmentEnsemble newEnsemble = msa.getEnsemble().clone();
  
  		List<Structure> repSt = SymmetryTools.divideStructure(result);
  
  		MultipleAlignment repeats = newEnsemble.getMultipleAlignment(0);
  		Block block = repeats.getBlock(0);
  		List<Atom[]> atomArrays = new ArrayList<Atom[]>();
  
  		for (Structure s : repSt)
  			atomArrays.add(StructureTools.getRepresentativeAtomArray(s));
  
  		newEnsemble.setAtomArrays(atomArrays);
  
  		for (int su = 0; su < block.size(); su++) {
  			Integer start = block.getStartResidue(su);
  
  			// Normalize aligned residues
  			for (int res = 0; res < block.length(); res++) {
  				Integer residue = block.getAlignRes().get(su).get(res);
  				if (residue != null)
  					residue -= start;
  				block.getAlignRes().get(su).set(res, residue);
  			}
  		}
  
  		return repeats;
  	}
docs: Method that converts a symmetry alignment into an alignment of the
  repeats only, as new independent structures.
  <p>
  This method changes the structure identifiers, the Atom arrays and
  re-scles the aligned residues in the Blocks corresponding to those
  changes.
  <p>
  Application: display superimposed repeats in Jmol.
  
  @param result
  CeSymmResult of symmetry
  @return MultipleAlignment of the repeats
  @throws StructureException