docs: def getFriendlyString(self):
          """
          Returns the version, printed in a friendly way.
  
          More precisely, it trims trailing zero components.
          """
          if self._friendlyString is not None:
              return self._friendlyString
  
          resultComponents = [
              self.getIntMajor(),
              self.getIntMinor(),
              self.getIntBuild(),
              self.getIntRevision()
          ]
  
          for i in range(len(resultComponents) - 1, -1, -1):
              if resultComponents[i] == 0:
                  del resultComponents[i]
              else:
                  break
  
          result = ".".join(map(str, resultComponents))
  
          self._friendlyString = result
  
          return result