ApplicationSerializer { public Application fromSlime(byte[] data) { var key = Hashing.sipHash24().hashBytes(data).asLong(); try { return cache.get(key, () -> fromSlime(SlimeUtils.jsonToSlime(data))); } catch (ExecutionException e) { throw new UncheckedExecutionException(e); } }  Slime toSlime(Application application); Application fromSlime(byte[] data);  }
@Test public void testCompleteApplicationDeserialization() throws Exception { byte[] applicationJson = Files.readAllBytes(testData.resolve("complete-application.json")); APPLICATION_SERIALIZER.fromSlime(applicationJson); }