code: public final void addLeftWing(final String pLeftWing, final StringBuffer pSb,
      final String pDigGrSep, final Integer pDigitsInGroup) {
      for (int i = 0; i < pLeftWing.length(); i++) {
        char ch = pLeftWing.charAt(i);
        pSb.append(ch);
        int idxFl = pLeftWing.length() - i;
        if (pDigitsInGroup == 2) {
          //hard-coded Indian style 12,12,14,334
          if (idxFl == 4) {
            pSb.append(pDigGrSep);
          } else {
            idxFl -= 3;
          }
        }
        if (idxFl >= pDigitsInGroup) {
          int gc = idxFl / pDigitsInGroup;
          if (gc > 0) {
            int rem;
            if (gc == 1) {
              rem = idxFl % pDigitsInGroup;
            } else {
              rem = idxFl % (pDigitsInGroup * gc);
            }
            if (rem == 1) {
              pSb.append(pDigGrSep);
            }
          }
        }
      }
    }
docs: <p>Adds left wing with group separators into string-buffer.</p>
  @param pLeftWing left wing
  @param pSb string buffer
  @param pDigGrSep decimal group separator, e.g. " "
  @param pDigitsInGroup Digits in group, e.g. 3