public function canExecute(WorkflowInstance $workflow)
    {
        $return = true;
        $members = $this->getAssignedMembers();

        // If not admin, check if the member is in the list of assigned members
        if (!Permission::check('ADMIN') && $members->exists()) {
            if (!$members->find('ID', Security::getCurrentUser()->ID)) {
                $return = false;
            }
        }

        if ($return) {
            $extended = $this->extend('extendCanExecute', $workflow);
            if ($extended) {
                $return = min($extended);
            }
        }

        return $return !== false;
    }