code: def parse(self, vstring: str) -> None:
      self.vstring = vstring
      components = [
          x for x in self.component_re.split(vstring) if x and x != "."
      ]
      for i, obj in enumerate(components):
          try:
              components[i] = int(obj)
          except ValueError:
              pass
  
      self.version = components
  
file_path: spark/python/pyspark/loose_version.py
imports: import re
  from typing import Optional
label_desc: Use image node_id 2 for calling the LooseVersion obj's underlying member method code with example usage: obj.parse(vstring) without return types