### Question:
ExtendedFileValueProvider extends ValueProviderSupport { @Override public boolean supports(MethodParameter parameter, CompletionContext completionContext) { if (replaceAll) { return parameter.getParameterType().equals(File.class); } return super.supports(parameter, completionContext); } ExtendedFileValueProvider(boolean replaceAll); @Override boolean supports(MethodParameter parameter, CompletionContext completionContext); @Override List<CompletionProposal> complete(MethodParameter parameter, CompletionContext completionContext,
                                             String[] hints);  }### Answer:
@Test void testSupport() throws Exception { ExtendedFileValueProvider providerForAll = new ExtendedFileValueProvider(true); Method method = TestCommand.class.getDeclaredMethod("test", File.class, File.class, String.class); MethodParameter paramFileWithProvider = MethodParameter.forParameter(method.getParameters()[0]); MethodParameter paramWithoutProvider = MethodParameter.forParameter(method.getParameters()[1]); MethodParameter paramNotFile = MethodParameter.forParameter(method.getParameters()[2]); assertTrue(providerForAll.supports(paramFileWithProvider, null)); assertTrue(providerForAll.supports(paramWithoutProvider, null)); assertFalse(providerForAll.supports(paramNotFile, null)); ExtendedFileValueProvider providerForDeclaredOnly = new ExtendedFileValueProvider(false); assertTrue(providerForDeclaredOnly.supports(paramFileWithProvider, null)); assertFalse(providerForDeclaredOnly.supports(paramWithoutProvider, null)); assertFalse(providerForDeclaredOnly.supports(paramNotFile, null)); }