public function __construct($subject, Context $context = null) { $this->subject = $subject instanceof Subject ? $subject : new Subject($subject); $this->policies = new PolicySet(); if ($context !== null && $context->get('policies') !== null) { $this->setupPolicies($context->get('policies')); } }