private BoundingBox makeBBox(String srsName, List<DirectPositionType> directPositionList) {
    DirectPositionType dpt0 = directPositionList.get(0);
    DirectPositionType dpt1 = directPositionList.get(1);

    double[] lowerLeft = new double[dpt0.getValue().size()];
    for (int i = 0; i < dpt0.getValue().size(); i++) {
      lowerLeft[i] = dpt0.getValue().get(i);
    }

    double[] upperRight = new double[dpt1.getValue().size()];
    for (int i = 0; i < dpt1.getValue().size(); i++) {
      upperRight[i] = dpt1.getValue().get(i);
    }
    BoundingBox bBox = new BoundingBox(srsName, lowerLeft, upperRight);
    return bBox;
  }
  /**
   * Supports WCS 1.0.0
   *
   * <p>uses the WCSCapabilitiesType returned by the GetCapabilities-Operation to produce a
   * Content-object.
   *
   * @param wc
   * @return
   * @throws OXFException
   */
  public Contents mapContents(WCSCapabilitiesType wc) {

    List<CoverageOfferingBriefType> covOffList = wc.getContentMetadata().getCoverageOfferingBrief();

    ArrayList<Dataset> dataIdentificationList = new ArrayList<Dataset>();

    for (CoverageOfferingBriefType covOff : covOffList) {

      // --- create identifier:
      List<JAXBElement> nameList = covOff.getName();
      String identifier = nameList.get(0).getValue().toString();

      // --- create title:
      String title = covOff.getLabel();

      // --- create boundingBox:
      LonLatEnvelopeType lle = covOff.getLonLatEnvelope();

      // directPositionList enth�lt 2 Double-Listen die die Koordinatenwerte f�r die 2 definierenden
      // Punkte der BBox enthalten
      List<DirectPositionType> directPositionList = lle.getPos();

      DirectPositionType dpt0 = directPositionList.get(0);
      DirectPositionType dpt1 = directPositionList.get(1);

      double[] lowerLeft = new double[dpt0.getValue().size()];
      for (int i = 0; i < dpt0.getValue().size(); i++) {
        lowerLeft[i] = dpt0.getValue().get(i);
      }

      double[] upperRight = new double[dpt1.getValue().size()];
      for (int i = 0; i < dpt1.getValue().size(); i++) {
        upperRight[i] = dpt1.getValue().get(i);
      }

      String srsName = covOff.getLonLatEnvelope().getSrsName();

      BoundingBox bBox = new BoundingBox(srsName, lowerLeft, upperRight);

      // --- create srs:
      String[] srsArray = new String[] {lle.getSrsName()};

      // --- create temporalDomain:
      List<TimePositionType> timePosList = lle.getTimePosition();
      List<ITime> timeList = new ArrayList<ITime>();
      if (timePosList != null) {
        for (TimePositionType timePosition : timePosList) {
          ITime time = TimeFactory.createTime(timePosition.getValue().toString());
          timeList.add(time);
        }
      }

      // add Dataset to list:
      Dataset dataID =
          new Dataset(
              title,
              identifier,
              new BoundingBox[] {bBox},
              null,
              srsArray,
              null,
              null,
              null,
              (timeList.isEmpty() ? null : new TemporalValueDomain(timeList)),
              null,
              null);
      dataIdentificationList.add(dataID);
    }

    Contents c = new Contents(dataIdentificationList);

    return c;
  }