public void Write(OpenPortObject obj)
        {
            _numCollected++;

            var objStr = obj.ToString();

            if (this.processedObjects.Contains(objStr))
            {
                Log.Debug("Object already exists, ignoring: {0}", objStr);
                return;
            }

            this.processedObjects.Add(objStr);

            var cmd = new SqliteCommand(SQL_INSERT, DatabaseManager.Connection, DatabaseManager.Transaction);

            cmd.Parameters.AddWithValue("@run_id", this.runId);
            cmd.Parameters.AddWithValue("@row_key", obj.RowKey);
            cmd.Parameters.AddWithValue("@family", obj.family);
            cmd.Parameters.AddWithValue("@address", obj.address);
            cmd.Parameters.AddWithValue("@type", obj.type);
            cmd.Parameters.AddWithValue("@port", obj.port);
            cmd.Parameters.AddWithValue("@process_name", obj.processName ?? "");
            cmd.Parameters.AddWithValue("@serialized", JsonConvert.SerializeObject(obj));
            cmd.ExecuteNonQuery();
        }