docs: def __get_doc_block_parts_source(self):
          """
          Extracts the DocBlock (in parts) from the source of the stored routine source.
          """
          line1, line2 = self.__get_doc_block_lines()
  
          if line1 is not None and line2 is not None and line1 <= line2:
              doc_block = self._routine_source_code_lines[line1:line2 - line1 + 1]
          else:
              doc_block = list()
  
          reflection = DocBlockReflection(doc_block)
  
          self._doc_block_parts_source['description'] = reflection.get_description()
  
          self._doc_block_parts_source['parameters'] = list()
          for tag in reflection.get_tags('param'):
              parts = re.match(r'^(@param)\s+(\w+)\s*(.+)?', tag, re.DOTALL)
              if parts:
                  self._doc_block_parts_source['parameters'].append({'name':        parts.group(2),
                                                                     'description': parts.group(3)})