private List<IItem> createInsertList(List<IItem> itemDragList){
  List<IItem> tempList=new ArrayList<IItem>();
  List<IItem> insertList=new ArrayList<IItem>();
  int depth=0;
  int removed=0;
  for (  IItem item : itemDragList) {
    createInsertList(item,tempList,insertList,depth,removed);
  }
  this.numberOfControls=tempList.size() - removed;
  return insertList;
}

private List < IItem > createInsertList ( List < IItem > itemDragList ) { List < IItem > tempList = new ArrayList < IItem > ( ) ; List < IItem > insertList = new ArrayList < IItem > ( ) ; int depth = 0 ; int removed = 0 ; for ( IItem item : itemDragList ) { createInsertList ( item , tempList , insertList , depth , removed ) ; } this . numberOfControls = tempList . size ( ) - removed ; return insertList ; }
createinsertlist removes redundant items from itemdraglist
