code: func constructProcessTree(ppid int, process goprocess.P, seen map[int]bool, tree treeprint.Tree) {
  	if seen[ppid] {
  		return
  	}
  	seen[ppid] = true
  	if ppid != process.PPID {
  		output := strconv.Itoa(ppid) + " (" + process.Exec + ")" + " {" + process.BuildVersion + "}"
  		if process.Agent {
  			tree = tree.AddMetaBranch("*", output)
  		} else {
  			tree = tree.AddBranch(output)
  		}
  	} else {
  		tree = tree.AddBranch(ppid)
  	}
  	for index := range pstree[ppid] {
  		process := pstree[ppid][index]
  		constructProcessTree(process.PID, process, seen, tree)
  	}
  }
docs: // constructProcessTree constructs the process tree in a depth-first fashion.