@Override public void add(long receivedVersion) { if (receivedVersion == this.previousVersion + 1) { this.previousVersion = receivedVersion; if (this.received != null) { consumeReceivedVersions(); } } else if (receivedVersion == this.nextVersion - 1) { this.nextVersion = receivedVersion; if (this.received != null) { consumeReceivedVersions(); } } else if (this.previousVersion < receivedVersion && receivedVersion < this.nextVersion) { addReceived(receivedVersion); } }