Source:
<code>CommonServerStoreProxy(final String cacheId, final ClusterTierClientEntity entity, final ServerCallback invalidation) { this.cacheId = cacheId; this.entity = entity; entity.addResponseListener(ServerInvalidateHash.class, response -> { long key = response.getKey(); LOGGER.debug("CLIENT: on cache {}, server requesting hash to be invalidated", cacheId, key); invalidation.onInvalidateHash(key); }); entity.addResponseListener(ClientInvalidateHash.class, response -> { <START> final long key = response.getKey(); <END> final int invalidationId = response.getInvalidationId(); LOGGER.debug("CLIENT: doing work to invalidate hash from cache (ID {})", key, cacheId, invalidationId); invalidation.onInvalidateHash(key); try { LOGGER.debug("CLIENT: ack'ing invalidation of hash from cache (ID {})", key, cacheId, invalidationId); entity.invokeAndWaitForSend(new ClientInvalidationAck(key, invalidationId), false); } catch (Exception e) { LOGGER.error("error acking client invalidation of hash on cache {}", key, cacheId, e); } }); entity.addResponseListener(ClientInvalidateAll.class, response -> { final int invalidationId = response.getInvalidationId(); LOGGER.debug("CLIENT: doing work to invalidate all from cache (ID {})", cacheId, invalidationId); invalidation.onInvalidateAll(); try { LOGGER.debug("CLIENT: ack'ing invalidation of all from cache (ID {})", cacheId, invalidationId); entity.invokeAndWaitForSend(new ClientInvalidationAllAck(invalidationId), false); } catch (Exception e) { LOGGER.error("error acking client invalidation of all on cache {}", cacheId, e); } }); }</code><technical_language>remove useless finals</technical_language>

Target:
CommonServerStoreProxy(final String cacheId, final ClusterTierClientEntity entity, final ServerCallback invalidation) { this.cacheId = requireNonNull(cacheId, "Cache-ID must be non-null"); this.entity = requireNonNull(entity, "ClusterTierClientEntity must be non-null"); requireNonNull(invalidation, "ServerCallback must be non-null"); entity.addResponseListener(ServerInvalidateHash.class, response -> { long key = response.getKey(); LOGGER.debug("CLIENT: on cache {}, server requesting hash to be invalidated", cacheId, key); invalidation.onInvalidateHash(key); }); entity.addResponseListener(ClientInvalidateHash.class, response -> { long key = response.getKey(); int invalidationId = response.getInvalidationId(); LOGGER.debug("CLIENT: doing work to invalidate hash from cache (ID {})", key, cacheId, invalidationId); invalidation.onInvalidateHash(key); try { LOGGER.debug("CLIENT: ack'ing invalidation of hash from cache (ID {})", key, cacheId, invalidationId); entity.invokeAndWaitForSend(new ClientInvalidationAck(key, invalidationId), false); } catch (Exception e) { LOGGER.error("error acking client invalidation of hash on cache {}", key, cacheId, e); } }); entity.addResponseListener(ClientInvalidateAll.class, response -> { int invalidationId = response.getInvalidationId(); LOGGER.debug("CLIENT: doing work to invalidate all from cache (ID {})", cacheId, invalidationId); invalidation.onInvalidateAll(); try { LOGGER.debug("CLIENT: ack'ing invalidation of all from cache (ID {})", cacheId, invalidationId); entity.invokeAndWaitForSend(new ClientInvalidationAllAck(invalidationId), false); } catch (Exception e) { LOGGER.error("error acking client invalidation of all on cache {}", cacheId, e); } }); }