code: def pad_plots(plots):
      
      widths = []
      for row in plots:
          row_widths = []
          for p in row:
              width = pad_width(p)
              row_widths.append(width)
          widths.append(row_widths)
      plots = [[WidgetBox(p, width=w) if isinstance(p, (DataTable, Tabs)) else p
                for p, w in zip(row, ws)] for row, ws in zip(plots, widths)]
      return plots
docs: Accepts a grid of bokeh plots in form of a list of lists and
      wraps any DataTable or Tabs in a WidgetBox with appropriate
      padding. Required to avoid overlap in gridplot.