code: public TerminalSize max(TerminalSize other) {
          return withColumns(Math.max(columns, other.columns))
                  .withRows(Math.max(rows, other.rows));
      }
docs: Takes a different TerminalSize and returns a new TerminalSize that has the largest dimensions of the two,
  measured separately. So calling 3x5 on a 5x3 will return 5x5.
  @param other Other TerminalSize to compare with
  @return TerminalSize that combines the maximum width between the two and the maximum height