protected function collectClassData($item, array $data, \ReflectionClass $reflector): array
    {
        foreach ($this->getClassVariants($reflector, $item) as $name)
        {
            $key = $this->getItemKey($name);

            if (!array_key_exists($key, $data['data']) || $this->isItemGreedy($data['data'][$key], $reflector, $item))
                $data = $this->addClassData($data, $key, $reflector, $item, $name);
        }

        return $data;
    }
protected function collectClassData($item, array $data, \ReflectionClass $reflector): array
    {
        foreach ($this->getClassVariants($reflector, $item) as $name)
        {
            $key = $this->getItemKey($name);

            if (!array_key_exists($key, $data['data']) || $this->isItemGreedy($data['data'][$key], $reflector, $item))
                $data = $this->addClassData($data, $key, $reflector, $item, $name);
        }

        return $data;
    }
protected function collectClassData ( $ item , array $ data , \ ReflectionClass $ reflector ) : array { foreach ( $ this -> getClassVariants ( $ reflector , $ item ) as $ name ) { $ key = $ this -> getItemKey ( $ name ) ; if ( ! array_key_exists ( $ key , $ data [ 'data' ] ) || $ this -> isItemGreedy ( $ data [ 'data' ] [ $ key ] , $ reflector , $ item ) ) $ data = $ this -> addClassData ( $ data , $ key , $ reflector , $ item , $ name ) ; } return $ data ; }
Collect class data

@param object           $item
@param array            $data
@param \ReflectionClass $reflector

@return array
Collect class data