shutdown And Wait
Initiates a forceful shutdown in which preexisting and new calls are rejected.
The method returns when the server becomes terminated. The most common usage scenario for this method is clean-up in unit tests (e.g. @AfterEach
in JUnit5) that involve client-server communications.