private function parseFieldsDefinition()
    {
        // Legacy support for the SDL?
        if (! empty($this->lexer->options['allowLegacySDLEmptyFields']) &&
            $this->peek(Token::BRACE_L) &&
            $this->lexer->lookahead()->kind === Token::BRACE_R
        ) {
            $this->lexer->advance();
            $this->lexer->advance();

            return [];
        }

        return $this->peek(Token::BRACE_L)
            ? $this->many(
                Token::BRACE_L,
                function () {
                    return $this->parseFieldDefinition();
                },
                Token::BRACE_R
            )
            : new NodeList([]);
    }
private function parseFieldsDefinition()
    {
        // Legacy support for the SDL?
        if (! empty($this->lexer->options['allowLegacySDLEmptyFields']) &&
            $this->peek(Token::BRACE_L) &&
            $this->lexer->lookahead()->kind === Token::BRACE_R
        ) {
            $this->lexer->advance();
            $this->lexer->advance();

            return [];
        }

        return $this->peek(Token::BRACE_L)
            ? $this->many(
                Token::BRACE_L,
                function () {
                    return $this->parseFieldDefinition();
                },
                Token::BRACE_R
            )
            : new NodeList([]);
    }
@return FieldDefinitionNode[]|NodeList

@throws SyntaxError