code: private static char[][] addChar(FigletFont figletFont, char[][] char1, char[][] char2) {
      char[][] result = new char[figletFont.height][];
      int overlay = calculateOverlay(figletFont, char1, char2);
      for (int l = 0; l < figletFont.height; l++) {
        if(char1[l] == null) {
          char1[l] = new char[0];
        }
        char[] cs1 = char1[l];
        char[] cs2 = char2[l];
        int char1Length = cs1.length;
        int char2Length  = cs2.length;
        int k;
        for(k = 0; k < overlay && char1Length > 0; k++){
          int col = char1Length - overlay + k;
          char c2 = cs2[k];
          char c1 = cs1[col];
          char smushed = figletFont.smushingRulesToApply.smushHorizontal(c1, c2, figletFont.hardblank);
          cs1[col] = smushed;
        }
        char lineResult[] = new char[char1Length + char2Length-k];
        System.arraycopy(char1[l], 0, lineResult, 0, char1Length);
        System.arraycopy(char2[l], k, lineResult, char1Length, char2Length-k);
        result[l] = lineResult;
      }
      return result;
    }
docs: Add a char to another char using {@link FigletFont#smushingRulesToApply} where applicable.
  @param figletFont Font details
  @param char1 Message so far
  @param char2 Char to add
  @return Array (lines) of char arrays