Allow source as an array
Raise error source doesn't have id property
Merge branch 'pr/1'