code: @Override
      public Stream<ServerMetadata> findLazy(ServerFilter filter) {
          return filter
              .applyFindLazy(serverFilter -> {
                  if (isFilterContainsServerIdsCondition(serverFilter)) {
                      return
                          serverFilter
                              .getServerIds()
                              .stream()
                              .map(nullable(client::findServerById))
                              .filter(notNull());
                  }
  
                  return
                      groupService
                          .findLazy(serverFilter.getGroupFilter())
                          .flatMap(
                              group -> serverFilter.isSearchInSubGroups() ?
                                  group.getAllServers().stream() : group.getServers().stream()
                          )
                          .filter(serverFilter.getPredicate())
                          .filter(
                              serverFilter.getServerIds().size() > 0 ?
                                  combine(ServerMetadata::getId, in(serverFilter.getServerIds())) : alwaysTrue()
                          );
              });
      }
docs: {@inheritDoc}