Try the following code: public void uploadContent(WTReference self,WTObject primaryBusinessObject){ try{ ContentHolder cHolder=null; if(primaryBusinessObject instanceof Workable){ cHolder=(ContentHolder)getCheckedoutContentHolder((Workable)primaryBusinessObject); }else{ cHolder=(ContentHolder)primaryBusinessObject; } QueryResult result1=ContentHelper.service.getContentsByRole((ContentHolder)self.getObject(),ContentRoleType.SECONDARY); while(result1.hasMoreElements()){ ContentItem cItem=(ContentItem)result1.nextElement(); ContentHelper.service.copyContentItem((ContentHolder)cHolder,cItem); PersistenceHelper.manager.delete(cItem); } if(cHolder instanceof Workable){ WorkInProgressHelper.service.checkin((Workable)cHolder,"Check in in the workflow"); } }catch(Exception wte){ wte.printStackTrace(); } } If you have questions, you can reach me at 513-290-8664 or hjatla@datafrond.com Regards.