class SwiftDistributionConfiguration implements DistributionConfiguration, Index, DistributionLogging {

    @Override
    @SuppressWarnings("unchecked")
    public <T> T getFeature(final Class<T> type, final Distribution.Method method) {
        if(type == Purge.class) {
            return (T) new SwiftDistributionPurgeFeature(session, regionService);
        }
        if(type == Index.class) {
            return (T) this;
        }
        if(type == DistributionLogging.class) {
            return (T) this;
        }
        return null;
    }

    public  SwiftDistributionConfiguration(final SwiftSession session, final Map<Path, Distribution> distributions);
    public  SwiftDistributionConfiguration(final SwiftSession session, final Map<Path, Distribution> distributions, final SwiftRegionService regionService);

}