One option would be to have querying for statementId only return non-voided, and have a voidedStatementId single statement query for voided. Better than adding a separate flag, I think, since its really a separate behavior. Requesting a statement by ID should never return more than one statement, IMNSHO, and should only return the exact statement requested or nothing.