toRet.remoteFolders = new HashSet<ItemId>();         toRet.remoteFolders.addAll(remoteFolders); toRet.excludeRemoteFolders = new HashSet<ItemId>();  toRet.excludeRemoteFolders.addAll(excludeRemoteFolders);
    public Object clone() throws CloneNotSupportedException {        DbSearchConstraints toRet = (DbSearchConstraints)super.clone();        if (tags != null) {            toRet.tags = new HashSet<Tag>();                      toRet.tags.addAll(tags);        }        toRet.excludeTags = new HashSet<Tag>();   toRet.excludeTags.addAll(excludeTags);        toRet.folders = new HashSet<Folder>();        toRet.folders.addAll(folders);        toRet.excludeFolders = new HashSet<Folder>(); toRet.excludeFolders.addAll(excludeFolders);        toRet.convId = convId;        toRet.prohibitedConvIds = new HashSet<Integer>(); toRet.prohibitedConvIds.addAll(prohibitedConvIds);        toRet.itemIds = new HashSet<Integer>();  toRet.itemIds.addAll(itemIds);        toRet.prohibitedItemIds = new HashSet<Integer>(); toRet.prohibitedItemIds.addAll(prohibitedItemIds);        toRet.indexIds = new HashSet<Integer>(); toRet.indexIds.addAll(indexIds);        toRet.types = new HashSet<Byte>(); toRet.types.addAll(types);        toRet.excludeTypes = new HashSet<Byte>(); toRet.excludeTypes.addAll(excludeTypes);        toRet.dates = new HashSet<Range>(); toRet.dates.addAll(dates);        toRet.modified = new HashSet<Range>(); toRet.modified.addAll(modified);        toRet.sizes = new HashSet<Range>(); toRet.sizes.addAll(sizes);        return toRet;    }