Reference join(Reference ref) { if (!canJoin(ref)) { throw Exception('Reference ($this) cannot be joined with ($ref)'); } return MultiReference(references: [this, ref]); }