docs: public static int getColumnIndex(String s, int stringCharacterIndex, TabBehaviour tabBehaviour, int firstCharacterColumnPosition) throws StringIndexOutOfBoundsException {
          int index = 0;
          for(int i = 0; i < stringCharacterIndex; i++) {
              if(s.charAt(i) == '\t') {
                  index += tabBehaviour.getTabReplacement(firstCharacterColumnPosition).length();
              }
              else {
                  if (isCharCJK(s.charAt(i))) {
                      index++;
                  }
                  index++;
              }
          }
          return index;
      }