### Question:
PropertiesBasedTraceeFilterConfiguration implements TraceeFilterConfiguration { @Override public Map<String, String> filterDeniedParams(final Map<String, String> unfiltered, final Channel channel) { final Map<String, String> filtered = new HashMap<>(unfiltered.size()); for (Map.Entry<String, String> entry : unfiltered.entrySet()) { if (shouldProcessParam(entry.getKey(), channel)) { filtered.put(entry.getKey(), entry.getValue()); } } return filtered; } PropertiesBasedTraceeFilterConfiguration(PropertyChain propertyChain);  PropertiesBasedTraceeFilterConfiguration(PropertyChain propertyChain,
													String profileName); static PropertyChain loadPropertyChain(); @Override boolean shouldProcessParam(String paramName, Channel channel); @Override boolean shouldProcessContext(final Channel channel); @Override boolean shouldGenerateInvocationId(); @Override int generatedInvocationIdLength(); @Override boolean shouldGenerateSessionId(); @Override int generatedSessionIdLength(); @Override Map<String, String> filterDeniedParams(final Map<String, String> unfiltered, final Channel channel);  }### Answer:
@Test public void testFilterDeniedParamsFiltersEverythingWithoutConfiguration() { final Map<String, String> unfiltered = Collections.singletonMap("Foo", "Bar"); assertThat(unit.filterDeniedParams(unfiltered, Channel.IncomingRequest), equalTo(Collections.<String, String>emptyMap())); }
@Test public void testFilterDeniedParamsPassesWhitelisted() { when(propertyChain.getProperty(TRACEE_DEFAULT_PROFILE_PREFIX + IncomingRequest.name())).thenReturn("Foo"); final Map<String, String> unfiltered = Collections.singletonMap("Foo", "Bar"); assertThat(unit.filterDeniedParams(unfiltered, Channel.IncomingRequest), equalTo(unfiltered)); }