protected function walkObject($object, $limitProperty = null)
    {
        if ($object === null) {
            return;
        }

        $metadata = $this->metadataFactory->getClassMetadata(get_class($object));

        //Get a Object Handler/Walker
        $walker = new ObjectWalker($object, $this->filterLoader);

        //Get all filtered properties or limit with selected
        $properties = ($limitProperty !== null) ? array($limitProperty) : $metadata->getFilteredProperties();

        //Iterate over properties with filters
        foreach ($properties as $property) {
            $walker->applyFilterRules($property, $metadata->getPropertyRules($property));
        }
    }