code: public String generate(final int bad) {
  		int[] sizes = new int[nodes.size()];
  		for (int i = 0; i < sizes.length; i++) {
  			Range r = nodes.get(i).getRange();
  			sizes[i] = r.getMin() + r.getRange() / 2;
  		}
  		return generate(sizes, bad);
  	}
docs: Returns a string whose length is always exactly in the middle of the allowed range
  
  @param bad
  if 0, only allowed characters are generated, if 1, 1 - (all - 1) characters are
  generated false, if 2 all characters are generated false.
  @return a string