code: @GET
      @Produces(MediaType.APPLICATION_JSON)
      public KeyValue get() throws Exception {
          LOGGER.info("get: {}", key);
  
          try {
              ListenableFuture<KeyValue> getFuture = distributedStore.get(key);
              return getFuture.get(ResourceConstants.COMMAND_TIMEOUT, ResourceConstants.COMMAND_TIMEOUT_TIME_UNIT);
          } catch (ExecutionException e) {
              Throwable cause = e.getCause();
  
              if (cause instanceof NotLeaderException) {
                  throw createCannotSubmitCommandException((NotLeaderException) cause);
              } else if (cause instanceof KeyNotFoundException) {
                  throw (KeyNotFoundException) cause;
              } else {
                  throw e;
              }
          }
      }
docs: Get the current value associated with the {@link KeyResource#key} represented by this resource.
  
  @return current value associated with the {@link KeyResource#key} represented by this resource
  @throws CannotSubmitCommandException if this server is not the
  leader of the Raft cluster and cannot submit commands to the cluster
  @throws KeyNotFoundException if {@link KeyResource#key} does not exist in replicated storage
  @throws Exception if this operation cannot be replicated to the Raft cluster. If an exception is
  thrown this operation is in an <strong>unknown</strong> state, and should be retried