docs: def row_col_maker(app, fromdocname, all_needs, need_info, need_key, make_ref=False, ref_lookup=False, prefix=''):
      """
      Creates and returns a column.
  
      :param app: current sphinx app
      :param fromdocname: current document
      :param all_needs: Dictionary of all need objects
      :param need_info: need_info object, which stores all related need data
      :param need_key: The key to access the needed data from need_info
      :param make_ref: If true, creates a reference for the given data in need_key
      :param ref_lookup: If true, it uses the data to lookup for a related need and uses its data to create the reference
      :param prefix: string, which is used as prefix for the text output
      :return: column object (nodes.entry)
      """
      row_col = nodes.entry()
      para_col = nodes.paragraph()
  
      if need_key in need_info and need_info[need_key] is not None:
          if not isinstance(need_info[need_key], (list, set)):
              data = [need_info[need_key]]
          else:
              data = need_info[need_key]
  
          for index, datum in enumerate(data):
              link_id = datum
              link_part = None
  
              if need_key in ['links', 'back_links']:
                  if '.' in datum:
                      link_id = datum.split('.')[0]
                      link_part = datum.split('.')[1]
  
              datum_text = prefix + datum
              text_col = nodes.Text(datum_text, datum_text)
              if make_ref or ref_lookup:
                  try:
                      ref_col = nodes.reference("", "")
                      if not ref_lookup:
                          ref_col['refuri'] = app.builder.get_relative_uri(fromdocname, need_info['docname'])
                          ref_col['refuri'] += "#" + datum
                      else:
                          temp_need = all_needs[link_id]
                          ref_col['refuri'] = app.builder.get_relative_uri(fromdocname, temp_need['docname'])
                          ref_col['refuri'] += "#" + temp_need["id"]
                          if link_part is not None:
                              ref_col['refuri'] += '.' + link_part
  
                  except KeyError:
                      para_col += text_col
                  else:
                      ref_col.append(text_col)
                      para_col += ref_col
              else:
                  para_col += text_col
  
              if index + 1 < len(data):
                  para_col += nodes.emphasis("; ", "; ")
  
      row_col += para_col
  
      return row_col