This needs to default to array() and is there a reason why it's by reference?