public function getProperties(array $classToken, ?File $file = null): array
    {
        if (!$file) {
            $file = $this->file;
        }

        $properties = [];
        $startPos = $classToken['scope_opener'] ?? 0;
        $tokens = $file->getTokens();

        while (($propertyPos = $file->findNext([T_VARIABLE], $startPos, $classToken['scope_closer'])) > 0) {
            if ($this->isProperty($propertyPos)) {
                $properties[] = substr($tokens[$propertyPos]['content'], 1);
            }

            $startPos = $propertyPos + 1;
        }

        return $properties;
    }