/** Returns deep copy of this map instance. */ public MediaSSRCGroupMap copy() { Map<String, List<SSRCGroup>> mapCopy = new HashMap<String, List<SSRCGroup>>(); for (String media : groupMap.keySet()) { List<SSRCGroup> listToCopy = new ArrayList<SSRCGroup>(groupMap.get(media)); List<SSRCGroup> listCopy = new ArrayList<SSRCGroup>(listToCopy.size()); for (SSRCGroup group : listToCopy) { listCopy.add(group.copy()); } mapCopy.put(media, listCopy); } return new MediaSSRCGroupMap(mapCopy); }