code: private boolean checkGaps() {
  
  		List<Integer> shrinkColumns = new ArrayList<Integer>();
  		// Loop for each column
  		for (int res = 0; res < length; res++) {
  			int gapCount = 0;
  			// Loop for each repeat and count the gaps
  			for (int su = 0; su < order; su++) {
  				if (block.get(su).get(res) == null)
  					gapCount++;
  			}
  			if ((order - gapCount) < Rmin) {
  				// Add the column to the shrink list
  				shrinkColumns.add(res);
  			}
  		}
  
  		// Shrink the columns that have more gaps than allowed
  		for (int col = shrinkColumns.size() - 1; col >= 0; col--) {
  			for (int su = 0; su < order; su++) {
  				Integer residue = block.get(su).get(shrinkColumns.get(col));
  				block.get(su).remove((int) shrinkColumns.get(col));
  				if (residue != null)
  					freePool.add(residue);
  				Collections.sort(freePool);
  			}
  			length--;
  		}
  
  		if (shrinkColumns.size() != 0)
  			return true;
  		else
  			return false;
  	}
docs: Method that loops through all the alignment columns and checks that there
  are no more gaps than the maximum allowed: Rmin.
  <p>
  There must be at least Rmin residues different than null in every
  alignment column. In case there is a column with more gaps than allowed
  it will be shrinked (moved to freePool).
  
  @return true if any columns has been shrinked and false otherwise