### Question:
RuntimeClientPlugin implements ToSmithyBuilder<RuntimeClientPlugin> { public static Builder builder() { return new Builder(); } private  RuntimeClientPlugin(Builder builder); Optional<SymbolReference> getInputConfig(); Optional<SymbolReference> getResolvedConfig(); Optional<SymbolReference> getResolveFunction(); Optional<SymbolReference> getPluginFunction(); Optional<SymbolReference> getDestroyFunction(); boolean matchesService(Model model, ServiceShape service); boolean matchesOperation(Model model, ServiceShape service, OperationShape operation); static Builder builder(); @Override Builder toBuilder(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void allConfigSymbolsMustBeSetIfAnyAreSet() { Assertions.assertThrows(IllegalStateException.class, () -> RuntimeClientPlugin.builder() .inputConfig(Symbol.builder().namespace("foo", "/").name("abc").build()).build()); }
@Test public void destroyFunctionRequiresResolvedConfig() { Assertions.assertThrows(IllegalStateException.class, () -> RuntimeClientPlugin.builder() .withConventions("foo/baz", "1.0.0", "Foo", RuntimeClientPlugin.Convention.HAS_DESTROY) .build()); }