private function invokeConstructorIfDeclared(array $arguments)
    {
        $methodName = 'construct';

        try {
            $method = new ReflectionMethod($this, $methodName);

            if (true === $method->isPublic()) {
                throw new RuntimeException(
                    'The constructor of an enumeration type may not be public.'
                );
            }

            $method->setAccessible(true);
            $method->invokeArgs($this, $arguments);
        } catch (ReflectionException $ex) {
            // empty block.
        }
    }