public function procure(Request $request, $object, string $group = null)
    {
        if (!is_object($object)) {
            throw new \InvalidArgumentException('Parameter $object must be an object instance');
        }

        foreach (self::targetMethodsOf($object, $group) as $targetMethod) {
            $targetMethod->invoke(
                    $object,
                    $this->paramBroker($targetMethod->expectedType())
                         ->procure($request, $targetMethod->annotation())
            );
        }

        return $object;
    }