class UDPConfigHandler extends Handler<ExtensionServiceMessage> {

    boolean isConfiguredToReceive(Map incoming) {
        return incoming != null &&
                (ConfigurableUDPSource.valueIsTrue(incoming, "receiveAllPorts") 
                || ConfigurableUDPSource.valueIsTrue(incoming, "receiveAllAddresses") ||
                ConfigurableUDPSource.valueIsTrue(incoming, "passPureMapIn") 
                || ConfigurableUDPSource.valueIsTrue(incoming, "passUnspecifiedIn") ||
                ConfigurableUDPSource.valueIsTrue(incoming,"expectCsvIn") || ConfigurableUDPSource.valueIsTrue(incoming,"expectXmlIn") ||
                incoming.get("passRecAddress") instanceof String || incoming.get("passRecPort") instanceof String ||
                incoming.get("passBytesInAs") instanceof String ||
                (incoming.get("receivePorts") instanceof List  
                        && hasValidPort((List) incoming.get("receivePorts"))) ||
                (incoming.get("receiveAddresses") instanceof List 
                        && hasValidAddress((List) incoming.get("receiveAddresses"))) ||
                (incoming.get("receiveServers") instanceof List 
                        && hasValidServer((List) incoming.get("receiveServers"))) ||
                (incoming.get("transformations") instanceof List 
                        && hasValidTransform((List) incoming.get("transformations"))) || 
                (incoming.get("regexParser") instanceof Map && 
                        isValidRegexParser((Map)incoming.get("regexParser")))
                );
    }

}