code: def rows_max(self, size=None, focus=False):
          
          if size is not None:
              ow = self._original_widget
              ow_size = self._get_original_widget_size(size)
              sizing = ow.sizing()
              if FIXED in sizing:
                  self._rows_max_cached = ow.pack(ow_size, focus)[1]
              elif FLOW in sizing:
                  self._rows_max_cached = ow.rows(ow_size, focus)
              else:
                  raise RuntimeError('Not a flow/box widget: %r' % self._original_widget)
          return self._rows_max_cached
docs: Return the number of rows for `size`
  
          If `size` is not given, the currently rendered number of rows is returned.