docs: def _build_data_block(self, lexer):
          """Build the data block of :class:`~ctfile.ctfile.SDfile` instance. 
  
          :return: Data block.
          :rtype: :py:class:`collections.OrderedDict`.
          """
          data_block = OrderedDict()
          header = ''
  
          while True:
              token = next(lexer)
              key = token.__class__.__name__
  
              if key == 'DataHeader':
                  header = token.header[1:-1]
                  data_block.setdefault(header, [])
  
              elif key == 'DataItem':
                  data_block[header].append(token.data_item)
  
              elif key == 'DataBlockEnd':
                  break
  
              else:
                  raise KeyError('SDfile data block does not supposed to have any other information: "{}".'.format(key))
  
          return data_block