cg.collectFromCategoryLinks( new MapperBlock( mapper ) )));
cg.eachLinkedCategory( new MapperBlock( mapper ) )));
    public void copy(IObject model, ModelMapper mapper) {    	if (model instanceof CategoryGroup) {			CategoryGroup cg = (CategoryGroup) model;			super.copy(model,mapper);            // Details            if (cg.getDetails()!=null){                this.setOwner((ExperimenterData)                         mapper.findTarget(                                cg.getDetails().getOwner()));            }                        // Fields			this.setName(cg.getName());			this.setDescription(cg.getDescription());                        // Collections            setCategories (new HashSet(                     cg.collectFromCategoryLinks( new MapperBlock( mapper ) )));                // FIXME this won't work. Needs CGCL as pointer to original                // otherwise you get non-referential integrity		} else {			throw new IllegalArgumentException(                    "CategoryGroupData can only copy from CategoryGroup types"); 		}    }