protected function isValid($object)
    {
        if (!is_object($object)) {
            $this->addError('Object expected, %1$s given.', 1241099149, [gettype($object)]);
            return;
        } elseif ($this->isValidatedAlready($object) === true) {
            return;
        }
        foreach ($this->propertyValidators as $propertyName => $validators) {
            $propertyValue = $this->getPropertyValue($object, $propertyName);
            $result = $this->checkProperty($propertyValue, $validators);
            if ($result !== null) {
                $this->result->forProperty($propertyName)->merge($result);
            }
        }
    }