public void Handle(ProjectionManagementMessage.Command.Abort message) { if (!_started) { return; } _logger.Info("Aborting '{0}' projection", message.Name); var projection = GetProjection(message.Name); if (projection == null) { message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound()); } else { if (!ProjectionManagementMessage.RunAs.ValidateRunAs(projection.Mode, ReadWrite.Write, projection.RunAs, message)) { return; } projection.Handle(message); } }