/**
     * {@inheritdoc}
     */
    public function build(QueryBuilder $queryBuilder, ResourceDefinition $resourceDefinition, Criteria $criteria)
    {
        $relationsToEmbed = $criteria->getEmbeding()->getRelations();
        $fields = $resourceDefinition->getFields();
        if (true === in_array('author', $relationsToEmbed, true)) {
            $authorIndex = array_search('author_id', $fields);
            $fields[$authorIndex] = <<<SQL
(
    SELECT row_to_json(d)
    FROM (
        SELECT id, name
        FROM author
        WHERE author_id = author.id
    ) d
) AS author
SQL;
        }
        foreach ($fields as $field) {
            $queryBuilder->addSelect($field);
        }
        $queryBuilder->from($resourceDefinition->getName());
    }