You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: processor.go
    path of file: ./repos/testcontainers-go/exec
    
    the code of the file until where you have to start completion: package exec

import (
	"bytes"
	"io"

	"github.com/docker/docker/api/types"
	"github.com/docker/docker/pkg/stdcopy"
)

// ProcessOptions defines options applicable to the reader processor
type ProcessOptions struct {
	ExecConfig types.ExecConfig
	Reader     io.Reader
}

// NewProcessOp
    
func Multiplexed() ProcessOption {
	return ProcessOptionFunc(func(opts *ProcessOptions) {
		// returning fast to bypass those options with a nil reader,
		// which could be the case when other options are used
		// to configure the exec creation.
		if opts.Reader == nil {
			return
		}

		done := make(chan struct{})

		var outBuff bytes.Buffer
		var errBuff bytes.Buffer
		go func() {
			if _, err := stdcopy.StdCopy(&outBuff, &errBuff, opts.Reader); err != nil {
				return
			}
			close(done)
		}()

		<-done

		if errBuff.Bytes() != nil {
			opts.Reader = &errBuff
		} else {
			opts.Reader = &outBuff
		}
	})
}