func ContextOptionFields(fields []string) ContextOption {
	return func(c Context) {
		c.(*mcontext).fields = fields
	}
}
ContextOptionFields sets the list of fields to include in the reply.
package manipulate
import (
	"net/url"
	"go.aporeto.io/elemental"
)
type ContextOption func(Context)
func ContextOptionFilter(f *elemental.Filter) ContextOption {
	return func(c Context) {
		c.(*mcontext).filter = f
	}
}
func ContextOptionNamespace(n string) ContextOption {
	return func(c Context) {
		c.(*mcontext).namespace = n
	}
}
func ContextOptionRecursive(r bool) ContextOption {
	return func(c Context) {
		c.(*mcontext).recursive = r
	}
}
func ContextOptionVersion(v int) ContextOption {
	return func(c Context) {
		c.(*mcontext).version = v
	}
}
func ContextOptionOverride(o bool) ContextOption {
	return func(c Context) {
		c.(*mcontext).overrideProtection = o
	}
}
func ContextOptionPage(n, size int) ContextOption {
	return func(c Context) {
		c.(*mcontext).page = n
		c.(*mcontext).pageSize = size
	}
}
func ContextOptionAfter(from string, limit int) ContextOption {
	return func(c Context) {
		c.(*mcontext).after = from
		c.(*mcontext).limit = limit
	}
}
func ContextOptionTracking(identifier, typ string) ContextOption {
	return func(c Context) {
		c.(*mcontext).externalTrackingID = identifier
		c.(*mcontext).externalTrackingType = typ
	}
}
func ContextOptionOrder(orders ...string) ContextOption {
	return func(c Context) {
		c.(*mcontext).order = orders
	}
}
func ContextOptionParameters(p url.Values) ContextOption {
	return func(c Context) {
		c.(*mcontext).parameters = p
	}
}
func ContextOptionFinalizer(f FinalizerFunc) ContextOption {
	return func(c Context) {
		c.(*mcontext).createFinalizer = f
	}
}
func ContextOptionTransactionID(tid TransactionID) ContextOption {
	return func(c Context) {
		c.(*mcontext).transactionID = tid
	}
}
func ContextOptionParent(i elemental.Identifiable) ContextOption {
	return func(c Context) {
		c.(*mcontext).parent = i
	}
}