docs: public static void copyBandElements(JRDesignBand destBand, JRBand sourceBand) {
  		int offset = findVerticalOffset(destBand);
  		
  		if (destBand == null)
  			throw new DJException("destination band cannot be null");
  		
  		if (sourceBand == null)
  			return;
  
  		for (JRChild jrChild : sourceBand.getChildren()) {
  			JRDesignElement element = (JRDesignElement) jrChild;
  			JRDesignElement dest = null;
  			try {
  				if (element instanceof JRDesignGraphicElement) {
  					Constructor<? extends JRDesignElement> constructor = element.getClass().getConstructor(JRDefaultStyleProvider.class);
  					JRDesignStyle style = new JRDesignStyle();
  					dest = constructor.newInstance(style.getDefaultStyleProvider());
  				} else {
  					dest = element.getClass().newInstance();
  				}
  
  				BeanUtils.copyProperties(dest, element);
  				dest.setY(dest.getY() + offset);
  			} catch (Exception e) {
  				log.error("Exception copying elements from band to band: " + e.getMessage(), e);
  			}
  			destBand.addElement(dest);
  		}
  	}