code: func (m *ProcessManager) ListProcesses(pids []int64) []byte {
  	w := new(bytes.Buffer)
  
  	m.mu.Lock()
  
  	if len(pids) == 0 {
  		for _, p := range m.entries {
  			_, _ = w.WriteString(p.toXML())
  		}
  	} else {
  		for _, id := range pids {
  			p, ok := m.entries[id]
  			if !ok {
  				continue
  			}
  
  			_, _ = w.WriteString(p.toXML())
  		}
  	}
  
  	m.mu.Unlock()
  
  	return w.Bytes()
  }
docs: // ListProcesses marshals the ProcessState for the given pids.
  // If no pids are specified, all current processes are included.
  // The return value can be used for responding to a VixMsgListProcessesExRequest.