private Element createXmlElement(final String version) {
    final List<Element> contentList = new ArrayList<Element>(16);
    contentList.add(createElement(DimapProductConstants.TAG_BAND_INDEX, "1"));
    contentList.add(createElement(DimapProductConstants.TAG_BAND_NAME, "filtered_coffee"));
    contentList.add(createElement(DimapProductConstants.TAG_BAND_DESCRIPTION, "with milk & sugar"));
    final String typeString = ProductData.getTypeString(_source.getGeophysicalDataType());
    contentList.add(createElement(DimapProductConstants.TAG_DATA_TYPE, typeString));
    contentList.add(createElement(DimapProductConstants.TAG_PHYSICAL_UNIT, "l"));
    contentList.add(createElement(DimapProductConstants.TAG_SOLAR_FLUX, "0.0"));
    contentList.add(createElement(DimapProductConstants.TAG_BAND_WAVELEN, "0.0"));
    contentList.add(createElement(DimapProductConstants.TAG_BANDWIDTH, "0.0"));
    contentList.add(createElement(DimapProductConstants.TAG_SCALING_FACTOR, "1.0"));
    contentList.add(createElement(DimapProductConstants.TAG_SCALING_OFFSET, "0.0"));
    contentList.add(createElement(DimapProductConstants.TAG_SCALING_LOG_10, "false"));
    contentList.add(createElement(DimapProductConstants.TAG_NO_DATA_VALUE_USED, "true"));
    contentList.add(
        createElement(
            DimapProductConstants.TAG_NO_DATA_VALUE,
            String.valueOf(_source.getGeophysicalNoDataValue())));
    final List<Element> filterBandInfoList = new ArrayList<Element>(5);
    filterBandInfoList.add(createElement(DimapProductConstants.TAG_FILTER_SOURCE, "anyBand"));
    filterBandInfoList.add(
        createElement(
            DimapProductConstants.TAG_FILTER_OPERATOR_CLASS_NAME,
            "org.esa.beam.framework.datamodel.GeneralFilterBand$Mean"));
    final Element filterBandInfo = new Element(DimapProductConstants.TAG_FILTER_BAND_INFO);
    filterBandInfo.setAttribute(
        GeneralFilterBandPersistable.ATTRIBUTE_BAND_TYPE,
        GeneralFilterBandPersistable.GENERAL_FILTER_BAND_TYPE);
    if (GeneralFilterBandPersistable.VERSION_1_1.equals(version)) {
      filterBandInfoList.add(createElement(DimapProductConstants.TAG_FILTER_SUB_WINDOW_SIZE, "5"));
      filterBandInfo.setAttribute(
          GeneralFilterBandPersistable.ATTRIBUTE_VERSION, GeneralFilterBandPersistable.VERSION_1_1);
    } else {
      // Version 1.0
      filterBandInfoList.add(createElement(DimapProductConstants.TAG_FILTER_SUB_WINDOW_WIDTH, "5"));
      filterBandInfoList.add(
          createElement(DimapProductConstants.TAG_FILTER_SUB_WINDOW_HEIGHT, "2"));
    }
    filterBandInfo.addContent(filterBandInfoList);
    contentList.add(filterBandInfo);

    final Element root = new Element(DimapProductConstants.TAG_SPECTRAL_BAND_INFO);
    root.setContent(contentList);
    return root;
  }