@Override
 public void handleConfiguredContextRequest(
     UUID requestId, String contextInfoType, Bundle scanConfig) {
   if (contextInfoType.equals(
       "org.ambientdynamix.contextplugins.context.info.access.accesspermissions")) {
     if (scanConfig.containsKey("action_type")) {
       String actionType = scanConfig.getString("action_type");
       if (actionType.equals("check_sessionkey")) {
         if (scanConfig.containsKey("service_id")) {
           if (unknownService(scanConfig.getString("service_id"))) {
             SecuredContextInfo aci =
                 new SecuredContextInfo(new RemoteAccessContextInfo(), PrivacyRiskLevel.LOW);
             sendContextEvent(requestId, aci);
           } else {
             String newKey = getKey(scanConfig.getString("service_id"));
             SecuredContextInfo aci =
                 new SecuredContextInfo(
                     new RemoteAccessContextInfo(scanConfig.getString("service_id"), newKey),
                     PrivacyRiskLevel.LOW);
             sendContextEvent(requestId, aci);
           }
         }
       }
     }
   }
   if (contextInfoType.equals(
       "org.ambientdynamix.contextplugins.context.action.access.accesspermissions")) {
     if (scanConfig.containsKey("action_type")) {
       String actionType = scanConfig.getString("action_type");
       if (actionType.equals("request_sessionkey")) {
         if (scanConfig.containsKey("service_id")) {
           if (unknownService(scanConfig.getString("service_id"))) {
             String newKey = newKey();
             settings.put(scanConfig.getString("service_id"), newKey);
             SecuredContextInfo aci =
                 new SecuredContextInfo(
                     new RemoteAccessContextInfo(scanConfig.getString("service_id"), newKey),
                     PrivacyRiskLevel.LOW);
             sendContextEvent(requestId, aci);
           } else {
             String newKey = getKey(scanConfig.getString("service_id"));
             SecuredContextInfo aci =
                 new SecuredContextInfo(
                     new RemoteAccessContextInfo(scanConfig.getString("service_id"), newKey),
                     PrivacyRiskLevel.LOW);
             sendContextEvent(requestId, aci);
           }
         }
       }
     }
   }
   context = this;
 }
 private static String getKey(String serviceID) {
   return settings.get(serviceID);
 }
 private static boolean unknownService(String serviceID) {
   return !(settings.containsKey(serviceID));
 }