### Question:
SolverCache { public Solver get(boolean blocking) { if (solverDirty.getAndSet(false)) { compute(); } if (blocking && solverInitialized.getCount() > 0) { try { solverInitialized.await(); } catch (InterruptedException e) { log.warn("Interrupted while waiting for model", e); } } return solver.get(); } SolverCache(Executor executor, FeatureVectors vectorPartitions); void setDirty(); void compute(); Solver get(boolean blocking);  }### Answer:
@Test public void testSolveFailure() { new SolverCache(getExecutor(), new FeatureVectorsPartition()).get(true); FeatureVectors vectors = new FeatureVectorsPartition(); vectors.setVector("A", new float[] { 1.0f, 3.0f, 6.0f }); vectors.setVector("B", new float[] { 0.0f, 1.0f, 2.0f }); new SolverCache(getExecutor(), vectors).get(true); }