code: def truncate_too_long_number(numobj):
      
      if is_valid_number(numobj):
          return True
      numobj_copy = PhoneNumber()
      numobj_copy.merge_from(numobj)
      national_number = numobj.national_number
  
      while not is_valid_number(numobj_copy):
          # Strip a digit off the RHS
          national_number = national_number // 10
          numobj_copy.national_number = national_number
          validation_result = is_possible_number_with_reason(numobj_copy)
          if (validation_result == ValidationResult.TOO_SHORT or
              national_number == 0):
              return False
      # To reach here, numobj_copy is a valid number.  Modify the original object
      numobj.national_number = national_number
      return True
docs: Truncate a number object that is too long.
  
      Attempts to extract a valid number from a phone number that is too long
      to be valid, and resets the PhoneNumber object passed in to that valid
      version. If no valid number could be extracted, the PhoneNumber object
      passed in will not be modified.
  
      Arguments:
      numobj -- A PhoneNumber object which contains a number that is too long to
                be valid.
  
      Returns True if a valid phone number can be successfully extracted.