code: @Override
      public void handle(String chargingStationId, JsonObject commandObject, IdentityContext identityContext) throws UserIdentityUnauthorizedException {
  
          try {
              ChargingStation chargingStation = repository.findOne(chargingStationId);
  
              if (chargingStation != null && chargingStation.isAccepted()) {
                  UpdateChargingStationReservableApiCommand command = gson.fromJson(commandObject, UpdateChargingStationReservableApiCommand.class);
  
                  ChargingStationId csId = new ChargingStationId(chargingStationId);
                  UserIdentity userIdentity = identityContext.getUserIdentity();
  
                  if (command.isReservable()) {
                      checkAuthorization(csId, userIdentity, MakeChargingStationReservableCommand.class);
                      commandGateway.send(new MakeChargingStationReservableCommand(csId, identityContext));
                  } else {
                      checkAuthorization(csId, userIdentity, MakeChargingStationNotReservableCommand.class);
                      commandGateway.send(new MakeChargingStationNotReservableCommand(csId, identityContext));
                  }
              }
          } catch (JsonSyntaxException e) {
              throw new IllegalArgumentException("Update charging station reservable command not able to parse the payload, is your JSON correctly formatted?", e);
          }
      }
docs: {@inheritDoc}