docs: def __extract_info(self, lines):
          """
          Extracts the following info from the source of the module with the class that acts like a namespace for
          constants:
          * Start line with constants
          * Last line with constants
          * Indent for constants
  
          :param list[str] lines: The source of the module with the class that acts like a namespace for constants.
  
          :rtype: dict<str,int|str>
          """
          ret = {'start_line': 0,
                 'last_line':  0,
                 'indent':     ''}
  
          mode = 1
          count = 0
          for line in lines:
              if mode == 1:
                  if line.strip() == self.__annotation:
                      ret['start_line'] = count + 1
                      ret['last_line'] = count + 1
                      parts = re.match(r'^(\s+)', line)
                      ret['indent'] = parts.group(1)
                      mode = 2
  
              elif mode == 2:
                  if line.strip() == '' or line.strip()[0:1] == '#':
                      mode = 3
                  else:
                      ret['last_line'] = count + 1
  
              else:
                  break
  
              count += 1
  
          if mode != 3:
              raise RuntimeError("Unable to find '{}' in file {}".format(self.__annotation, self.source()))
  
          return ret