code: public static <T> void print(List<T> table) {
          if (table == null ) {
              throw new IllegalArgumentException("No tabular data provided");
          }
          if (table.isEmpty()) {
              return;
          }
          final int[] widths = new int[getMaxColumns(table)];
          adjustColumnWidths(table, widths);
          printPreparedTable(table, widths, getHorizontalBorder(widths));
      }
docs: ///////// Bean based input for pretty printing ///////////////