protected function handleProperty(\ReflectionProperty $property, ClassContext $classContext, $original, \stdClass $output)
    {
        $propertyContext = $this->propertyBuilder->propertyContextFromReflection($property, $original, $classContext);
        $value           = $propertyContext->value;
        $name            = $propertyContext->name;
        switch (true):
            case $this->checkArrayCollection($value):
                $value = $value->toArray();
            case is_array($value);
                $output->$name = $this->handleArray($value, $classContext->views);
                break;
            case is_object($value);
                $output->$name = $this->handleObject($value, $classContext->views);
                break;
            default:
                $output->$name = $value;
                break;
        endswitch;

        return $output;
    }