code: def _desc_has_data(desc):
      
      if desc is None:
          return False
      # Checking most properties since we don't know what's present, since a custom build may have
      # stripped just one of them (e.g. liteBuild strips exampleNumber). We don't bother checking the
      # possibleLengthsLocalOnly, since if this is the only thing that's present we don't really
      # support the type at all: no type-specific methods will work with only this data.
      return ((desc.example_number is not None) or
              _desc_has_possible_number_data(desc) or
              (desc.national_number_pattern is not None))
docs: Returns true if there is any data set for a particular PhoneNumberDesc.