/**
  * @param gdReq
  * @return GridData
  * @since 2015/09/09
  */
 public static GridData cloneResponseGridData(GridData gdReq) throws Exception {
   GridData gdRes = new GridData();
   // mode 추가
   gdRes.setMode(gdReq.getMode());
   String headers[] = gdReq.getHeaderSequence();
   for (int i = 0; i < gdReq.getHeaderCount(); i++) {
     GridHeader ghValue = gdReq.getHeader(headers[i]);
     String headerDataType = gdReq.getHeader(headers[i]).getDataType();
     gdRes.createHeader(headers[i], headerDataType);
     if (headerDataType.equals("L")) {
       if (ghValue.getComboValues() != null)
         if (ghValue.getComboValues().length != 0)
           gdRes
               .getHeader(headers[i])
               .setComboValues(ghValue.getComboValues(), ghValue.getComboHiddenValues());
       // 오리진 콤보데이터 확인을 위한 코드.
       gdRes
           .getHeader(headers[i])
           .setOriginComboValues(
               ghValue.getOriginComboValues(), ghValue.getOriginComboHiddenValues());
       if (ghValue.hasComboList()) {
         for (int j = 0; j < ghValue.getComboListCount(); j++) {
           String comboListKey = ghValue.getComboListKeys()[j];
           gdRes
               .getHeader(headers[i])
               .addComboListValues(
                   comboListKey,
                   ghValue.getComboValues(comboListKey),
                   ghValue.getComboHiddenValues(comboListKey));
         }
       }
     } else if (headerDataType.equals("I")) {
       if (ghValue.getImageURLs() != null)
         if (ghValue.getImageURLs().length != 0)
           gdRes.getHeader(headers[i]).setImageURLs(ghValue.getImageURLs());
     }
   }
   return gdRes;
 }