code: def add_new_grid_headers(self, new_headers):
          
          already_present = []
          for name in new_headers:
              if name:
                  if name not in self.grid.col_labels:
                      col_number = self.grid.add_col(name)
                      # add to appropriate headers list
                      # add drop down menus for user-added column
                      if name in self.contribution.vocab.vocabularies:
                          self.drop_down_menu.add_drop_down(col_number, name)
                      elif name in self.contribution.vocab.suggested:
                          self.drop_down_menu.add_drop_down(col_number, name)
                      elif name in ['specimen', 'sample', 'site',
                                    'specimens', 'samples', 'sites']:
                          self.drop_down_menu.add_drop_down(col_number, name)
                      elif name == 'experiments':
                          self.drop_down_menu.add_drop_down(col_number, name)
                      if name == "method_codes":
                          self.drop_down_menu.add_method_drop_down(col_number, name)
                  else:
                      already_present.append(name)
                      #pw.simple_warning('You are already using column header: {}'.format(name))
          return already_present
docs: Add in all user-added headers.
          If those new headers depend on other headers,
          add the other headers too.