### Question:
InMemoryServiceInstanceBindingStateRepository implements ServiceInstanceBindingStateRepository { @Override public Mono<ServiceInstanceState> removeState(String serviceInstanceId, String bindingId) { return Mono.just(new BindingKey(serviceInstanceId, bindingId)) .flatMap(bindingKey -> containsState(bindingKey) .flatMap(contains -> Mono.defer(() -> { if (contains) { return Mono.fromCallable(() -> this.states.remove(bindingKey)); } else { return Mono.error(new IllegalArgumentException("Unknown binding " + bindingKey)); } }))); }  @Override Mono<ServiceInstanceState> saveState(String serviceInstanceId, String bindingId, OperationState state,
		String description); @Override Mono<ServiceInstanceState> getState(String serviceInstanceId, String bindingId); @Override Mono<ServiceInstanceState> removeState(String serviceInstanceId, String bindingId);  }### Answer:
@Test void removeWithUnknownBindingKey() { StepVerifier.create(stateRepository.removeState("foo-service", "foo-binding")) .expectError(IllegalArgumentException.class) .verify(); }