@Override
    public void createBlogPost(CreateBlogPostRequest request, StreamObserver<BlogPost> responseObserver) {
        final int id = idGenerator.getAndIncrement();
        final Instant now = Instant.now();
        final BlogPost updated = BlogPost.newBuilder()
                                         .setId(id)
                                         .setTitle(request.getTitle())
                                         .setContent(request.getContent())
                                         .setModifiedAt(now.toEpochMilli())
                                         .setCreatedAt(now.toEpochMilli())
                                         .build();
        blogPosts.put(id, updated);
        final BlogPost stored = updated;
        responseObserver.onNext(stored);
        responseObserver.onCompleted();
    }
Creates a new {@link BlogPost} and returns the stored {@link BlogPost} containing automatically
generated ID and creation time.
examples/tutorials/grpc/src/main/java/example/armeria/server/blog/grpc/BlogService.java