code: @EventHandler
      protected void onEvent(AuthorizationRequestedEvent event,
                             @MetaData(value = CorrelationToken.KEY, required = false) CorrelationToken correlationToken) {
      	IdentifyingToken identifyingToken = event.getIdentifyingToken();
      	
      	identifyingToken = identificationAuthorizationService.validate(identifyingToken, event.getChargingStationId());
  
          CommandMessage commandMessage;
          IdentityContext identityContext = new IdentityContext(addOnIdentity, new NullUserIdentity());
          if (identifyingToken.isValid()) {
              commandMessage = asCommandMessage(new GrantAuthorizationCommand(event.getChargingStationId(), identifyingToken, identityContext));
          } else {
              commandMessage = asCommandMessage(new DenyAuthorizationCommand(event.getChargingStationId(), identifyingToken, identityContext));
          }
  
          if (correlationToken != null) {
              commandMessage = commandMessage.andMetaData(Collections.singletonMap(CorrelationToken.KEY, correlationToken));
          }
  
          commandGateway.send(commandMessage);
      }
docs: Listens for {@code AuthorizationRequestedEvent} and requests the {@code IdentificationAuthorizationService} to
  execute the authorization. Sends a {@code GrantAuthorizationCommand} if identification is successful,
  {@code DenyAuthorizationCommand} if not. The passed correlation id will be added to the outgoing command if
  it's not null or empty.
  
  @param event            the authorization request event.
  @param correlationToken correlation token which will be added to outgoing command if it's not null or empty.