private AttributeMapFilter create(final ConfigState configState) {
        final List<AttributeMapFilter> filters = new ArrayList<>();

        // This one adds the feed attr if it is not there (and config allows
        // so needs to go before most others.
        filters.add(feedNameCheckAttributeMapFilterProvider.get());

        if (NullSafe.isNonBlankString(configState.receiptPolicyUuid)) {
            LOGGER.info("Using data receipt policy to filter received data");
            filters.add(dataReceiptPolicyAttributeMapFilterFactory.create(
                    new DocRef(ReceiveDataRules.TYPE, configState.receiptPolicyUuid)));
        }

        // The feed status filter will determine if the feed status check needs
        // to happen as the config for it is different between proxy and stroom.
        // Proxy and stroom each have a different FeedStatusService impl bound.
        filters.add(feedStatusAttributeMapFilterProvider.get());

        return AttributeMapFilter.wrap(filters);
    }
Builds a chain of filters for checking and possibly adding to the contents
of the {@link stroom.meta.api.AttributeMap}
stroom-receive/stroom-receive-common/src/main/java/stroom/receive/common/AttributeMapFilterFactory.java