protected static void copyCourseOfferingInfo(
      CourseOfferingCreateWrapper coCreateWrapper,
      String targetTermCode,
      String catalogCourseCode,
      String coId) {
    ContextInfo contextInfo = ContextUtils.createDefaultContextInfo();

    if (targetTermCode != null) {
      coCreateWrapper.setTargetTermCode(targetTermCode);
      TermInfo term = CourseOfferingManagementUtil.getTerm(targetTermCode);
      coCreateWrapper.setTerm(term);
    }

    if (catalogCourseCode != null) {
      coCreateWrapper.setCatalogCourseCode(catalogCourseCode);
    }

    if (coId != null) {
      try {
        // configure context bar
        SocInfo soc =
            CourseOfferingSetUtil.getMainSocForTermId(
                coCreateWrapper.getTerm().getId(), contextInfo);
        coCreateWrapper.setSocInfo(soc);
        coCreateWrapper.setContextBar(
            CourseOfferingContextBar.NEW_INSTANCE(
                coCreateWrapper.getTerm(),
                coCreateWrapper.getSocInfo(),
                CourseOfferingManagementUtil.getStateService(),
                CourseOfferingManagementUtil.getAcademicCalendarService(),
                contextInfo));

        CourseOfferingInfo theCO =
            CourseOfferingManagementUtil.getCourseOfferingService()
                .getCourseOffering(coId, contextInfo);
        CourseOfferingEditWrapper coEditWrapper = new CourseOfferingEditWrapper(theCO);
        TermInfo termInfo =
            CourseOfferingManagementUtil.getAcademicCalendarService()
                .getTerm(theCO.getTermId(), contextInfo);
        coEditWrapper.setTerm(termInfo);
        coEditWrapper.setGradingOption(
            CourseOfferingManagementUtil.getGradingOption(theCO.getGradingOptionId()));
        // To prevent showing the same row twice in the table. It can be caused by pressing F5 key.
        if (coCreateWrapper.getExistingTermOfferings().size() == 0) {
          coCreateWrapper.getExistingTermOfferings().add(coEditWrapper);
        }
      } catch (Exception e) {
        throw new RuntimeException(
            "An Exception occurred while trying to copy course to new onw. ", e);
      }
    }
  }