code: protected ArrayList<String> _split_multi_line(String text, int max_len) {
  		// TODO Auto-generated method stub
  		ArrayList<String> output = new ArrayList<String>();
  		text = text.trim();
  		if(text.length() <= max_len) {
  			output.add(text);
  			return output;
  		}
  
  		ArrayList<String> words = new ArrayList<String>();
  		Collections.addAll(words, text.split("\\s+"));
  		while(!words.isEmpty()) {
  			text = words.remove(0);
  			while(!words.isEmpty() && (text.length() + 1 + words.get(0).length()) <= max_len) {
  				text += " " + words.remove(0);
  				text = text.trim();
  			}
  			output.add(text);
  		}
  		assert words.isEmpty();
  		return output;
  	}
docs: Returns a list of strings.
  
  Any single words which are too long get returned as a whole line
  (e.g. URLs) without an exception or warning.
  @param text
  @param max_len