Как вернуть пустой объект вместо возвращаемого типа метода? Java

Есть метод endpoint, который должен возвращать всегда 1 объект, но объекта может не быть в базе. Если объекта нет, то в response должен попадать пустой объект: {}

Проблема в том, тип метода не даёт возможности сделать приведение пустого объекта к возвращаемому типу.

public @Nonnull
    Responses.Profile findById(@Nonnull Context context) {
        var id = id(context).orElseThrow(NotFoundException::new);

        return profileService.findById(id)
               .map(Responses::profile)
               .orElseGet(() -> (Responses.Profile) Responses.emptyObject());

Response.Profile:

    @lombok.Data
    @lombok.Builder
    public static class Profile {
        public String id;
        public String phone;

        @JsonRawValue
        public String form;
    }

Ошибка:

class java.util.ImmutableCollections$MapN cannot be cast to class app.controllers.Responses$Profile(java.util.ImmutableCollections$MapN is in module java.base of loader 'bootstrap'; app.controllers.Responses$Profile is in unnamed module of loader 'app')


Ответы (0 шт):