public function formatByDigitCount(PhoneNumber $E164)
 {
     if ($E164->getSubscriberNumber() === '' || $E164->getSubscriberNumber() === null) {
         return null;
     }
     $numberString = '';
     //add country code
     if ($E164->getCountryCode() !== '' && $E164->getCountryCode() !== null) {
         $numberString .= '+' . $E164->getCountryCode();
     }
     //add region / mobile code
     if ($E164->getNationalDestinationCode() != '') {
         //see if we need local / international code
         $code = '';
         if ($E164->getCountryCode() !== '' && $E164->getCountryCode() !== null) {
             $code = $E164->getNationalDestinationCodeInternational();
         } else {
             $code = $E164->getNationalDestinationCode();
         }
         $numberString .= ($numberString != '' ? ' ' : '') . $code;
     }
     $numberString .= ($numberString != '' ? ' ' : '') . $this->formatNumberByDigits($E164->getSubscriberNumber(), $E164->getCountryCode());
     return $numberString;
 }