docs: public static String[] breakUp(String s, int columns) {
      Vector<String>	result;
      String		line;
      BreakIterator	boundary;
      int			boundaryStart;
      int			boundaryEnd;
      String		word;
      String		punctuation;
      int			i;
      String[]		lines;
  
      result      = new Vector<String>();
      punctuation = " .,;:!?'\"";
      lines       = s.split("\n");
  
      for (i = 0; i < lines.length; i++) {
        boundary      = BreakIterator.getWordInstance();
        boundary.setText(lines[i]);
        boundaryStart = boundary.first();
        boundaryEnd   = boundary.next();
        line          = "";
  
        while (boundaryEnd != BreakIterator.DONE) {
  	word = lines[i].substring(boundaryStart, boundaryEnd);
  	if (line.length() >= columns) {
  	  if (word.length() == 1) {
  	    if (punctuation.indexOf(word.charAt(0)) > -1) {
  	      line += word;
  	      word = "";
  	    }
  	  }
  	  result.add(line);
  	  line = "";
  	}
  	line          += word;
  	boundaryStart  = boundaryEnd;
  	boundaryEnd    = boundary.next();
        }
        if (line.length() > 0)
  	result.add(line);
      }
  
      return result.toArray(new String[result.size()]);
    }