private static function extractRecord(): array
    {
        $record = [];
        self::$line = self::$document->fgets();
        do {
            $method = 'extractFieldContent';
            $buffer = ltrim(self::$line, self::$trim_mask);
            if (($buffer[0] ?? '') === self::$enclosure) {
                $method = 'extractEnclosedFieldContent';
                self::$line = $buffer;
            }

            $record[] = self::$method();
        } while (false !== self::$line);

        return $record;
    }