if (serverOp instanceof CoreRemoveParticipant) {
CoreRemoveParticipant serverRemoveOp = (CoreRemoveParticipant) serverOp;
if (serverRemoveOp.getParticipantId().equals(clientOpAuthor)) {
// clientOpAuthor has issued a client operation that is concurrent with a server
// operation to remove clientOpAuthor, hence the client operation is doomed
throw new RemovedAuthorException(clientOpAuthor.getAddress());
}
if (clientOp instanceof CoreRemoveParticipant) {
CoreRemoveParticipant clientRemoveOp = (CoreRemoveParticipant) clientOp;
if (clientRemoveOp.getParticipantId().equals(serverRemoveOp.getParticipantId())) {
clientOp = CoreNoOp.INSTANCE;