code: public static String getMultiBlockJmolString(MultipleAlignment multAln,
  			List<Atom[]> transformedAtoms, ColorBrewer colorPalette,
  			boolean colorByBlocks) {
  
  		StringWriter jmol = new StringWriter();
  		jmol.append(DEFAULT_SCRIPT);
  		jmol.append("select *; color lightgrey; backbone 0.1; ");
  
  		int blockNum = multAln.getBlocks().size();
  		Color[] colors = colorPalette.getColorPalette(blockNum);
  
  		// For every structure color all the blocks with the printBlock method
  		for (int str = 0; str < transformedAtoms.size(); str++) {
  			jmol.append("select */" + (str + 1) + "; color lightgrey; model "
  					+ (str + 1) + "; ");
  
  			int index = 0;
  			for (BlockSet bs : multAln.getBlockSets()) {
  				for (Block b : bs.getBlocks()) {
  
  					List<List<Integer>> alignRes = b.getAlignRes();
  					printJmolScript4Block(transformedAtoms.get(str), alignRes,
  							colors[index], jmol, str, index, blockNum);
  					index++;
  				}
  			}
  		}
  
  		jmol.append("model 0;  ");
  		jmol.append(LIGAND_DISPLAY_SCRIPT);
  
  		return jmol.toString();
  	}
docs: Colors every Block of the structures with a different color, following
  the palette. It colors each Block differently, no matter if it is from
  the same or different BlockSet.