code: func FormatWrite(ctx formatter.Context, nodes []swarm.Node, info types.Info) error {
  	render := func(format func(subContext formatter.SubContext) error) error {
  		for _, node := range nodes {
  			nodeCtx := &nodeContext{n: node, info: info}
  			if err := format(nodeCtx); err != nil {
  				return err
  			}
  		}
  		return nil
  	}
  	nodeCtx := nodeContext{}
  	nodeCtx.Header = formatter.SubHeaderContext{
  		"ID":            nodeIDHeader,
  		"Self":          selfHeader,
  		"Hostname":      hostnameHeader,
  		"Status":        formatter.StatusHeader,
  		"Availability":  availabilityHeader,
  		"ManagerStatus": managerStatusHeader,
  		"EngineVersion": engineVersionHeader,
  		"TLSStatus":     tlsStatusHeader,
  	}
  	return ctx.Write(&nodeCtx, render)
  }
docs: // FormatWrite writes the context