HashMap> parties = this.searchAllParties(text, partyTypes); // This works fine: Collection values1 = parties.get(parties.keySet().iterator().next()); // This says it "can not assign capture#18-of ? extends PartyInfo to Collection" for(PartyType key : parties.keySet()) { for(Collection values2 : parties.get(key)) {}