def marshal_load(dump)
      @portal = dump[:portal]
      roots = dump[:group_roots]
      dump[:memberships].each do |gm_hash|
        self << GroupMembership.new(find_group_from_roots(gm_hash[:group_name], roots)).
          tap { |gm| gm.affiliate_ids.concat(gm_hash[:affiliate_ids]) }
      end
    end
def marshal_load(dump)
      @portal = dump[:portal]
      roots = dump[:group_roots]
      dump[:memberships].each do |gm_hash|
        self << GroupMembership.new(find_group_from_roots(gm_hash[:group_name], roots)).
          tap { |gm| gm.affiliate_ids.concat(gm_hash[:affiliate_ids]) }
      end
    end
Custom deserialization for this array.  Reverses
 {#marshal_dump}.

 @return [void]