pub fn validate_ownership_id_and_version<Id: IdType, F: Owned<Id> + WithIdAndVersion<Id>, S: Owned<Id> + WithIdAndVersion<Id>>(
    error_details: &mut ErrorDetails<'_>,
    first: &F,
    second: &S
)