code: public final ValueWithPos<String> formatE123WithPos(
        final ValueWithPos<PhoneNumberData> pphoneNumberData, final PhoneCountryData pcountryData) {
      if (pphoneNumberData != null && pcountryData != null
          && StringUtils.equals(pcountryData.getCountryCodeData().getCountryCode(),
              pphoneNumberData.getValue().getCountryCode())) {
        return this.formatE123NationalWithPos(pphoneNumberData);
      } else {
        return this.formatE123InternationalWithPos(pphoneNumberData);
      }
    }
docs: format phone number in E123 format with cursor position handling.
  
  @param pphoneNumberData phone number to format with cursor position
  @param pcountryData country data
  @return formated phone number as String with new cursor position