code: func printRows(output io.Writer, rows []metav1beta1.TableRow, options PrintOptions) {
  	for _, row := range rows {
  		if options.WithNamespace {
  			if obj := row.Object.Object; obj != nil {
  				if m, err := meta.Accessor(obj); err == nil {
  					fmt.Fprint(output, m.GetNamespace())
  				}
  			}
  			fmt.Fprint(output, "\t")
  		}
  
  		for i, cell := range row.Cells {
  			if i != 0 {
  				fmt.Fprint(output, "\t")
  			} else {
  				// TODO: remove this once we drop the legacy printers
  				if options.WithKind && !options.Kind.Empty() {
  					fmt.Fprintf(output, "%s/%s", strings.ToLower(options.Kind.String()), cell)
  					continue
  				}
  			}
  			fmt.Fprint(output, cell)
  		}
  
  		hasLabels := len(options.ColumnLabels) > 0
  		if obj := row.Object.Object; obj != nil && (hasLabels || options.ShowLabels) {
  			if m, err := meta.Accessor(obj); err == nil {
  				for _, value := range labelValues(m.GetLabels(), options) {
  					output.Write([]byte("\t"))
  					output.Write([]byte(value))
  				}
  			}
  		}
  
  		output.Write([]byte("\n"))
  	}
  }
docs: // printRows writes the provided rows to output.