Voting starts in March for the Drupal Association Board election.
lookupSourceID uses the source ID properties as keys and the interface prescribes doing the same,
getRowBySource keys by "source1" and such.
Add aliasing. Easy: remove
->fields('map'); and add
$query->addField('map', $idmap_field_name, $source_field_name); to the loop next row.