class Shard extends RaftActor {

    @Override
    protected void applyState(final ActorRef clientActor, final Identifier identifier, final Object data) {
        if (data instanceof Payload) {
            if (data instanceof DisableTrackingPayload) {
                disableTracking((DisableTrackingPayload) data);
                return;
            }

            try {
                store.applyReplicatedPayload(identifier, (Payload)data);
            } catch (DataValidationFailedException | IOException e) {
                LOG.error("{}: Error applying replica {}", persistenceId(), identifier, e);
            }
        } else {
            LOG.error("{}: Unknown state for {} received {}", persistenceId(), identifier, data);
        }
    }

    protected  Shard(final AbstractBuilder<?, ?> builder);

}