<?xml version="1.0" encoding="UTF-8"?>
<supplementalDataModels>
  <supplement>
    <project>
      <groupId>com.sun.xml.bind</groupId>
      <artifactId>jaxb-impl</artifactId>
      <name>Sun JAXB Reference Implementation Runtime</name>
      <organization>
        <name>Sun Microsystems</name>
        <url>http://www.sun.com/</url>
      </organization>
      <licenses>
        <license>
          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
          <url>http://www.sun.com/cddl/cddl.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>com.sun.xml.bind</groupId>
      <artifactId>jaxb-xjc</artifactId>
      <name>Sun JAXB Reference Implementation Tools</name>
      <organization>
        <name>Sun Microsystems</name>
        <url>http://www.sun.com/</url>
      </organization>
      <licenses>
        <license>
          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
          <url>http://www.sun.com/cddl/cddl.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>com.sun.xml.messaging.saaj</groupId>
      <artifactId>saaj-impl</artifactId>
      <name>Sun SAAJ Reference Implementation</name>
      <organization>
        <name>Sun Microsystems</name>
        <url>http://www.sun.com/</url>
      </organization>
      <licenses>
        <license>
          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
          <url>http://www.sun.com/cddl/cddl.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>javax.xml.soap</groupId>
      <artifactId>saaj-api</artifactId>
      <name>Sun SAAJ API</name>
      <organization>
        <name>Sun Microsystems</name>
        <url>http://www.sun.com/</url>
      </organization>
      <licenses>
        <license>
          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
          <url>http://www.sun.com/cddl/cddl.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.neethi</groupId>
      <artifactId>neethi</artifactId>
      <name>Neethi</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>javax.xml.ws</groupId>
      <artifactId>jaxws-api</artifactId>
      <name>Java API for XML-Based Web Services (JAX-WS API)</name>
      <organization>
        <name>Sun Microsystems</name>
        <url>http://www.sun.com/</url>
      </organization>
      <licenses>
        <license>
          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
          <url>http://www.sun.com/cddl/cddl.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>
      <name>Java Architecture for XML Binding (JAXB API)</name>
      <organization>
        <name>Sun Microsystems</name>
        <url>http://www.sun.com/</url>
      </organization>
      <licenses>
        <license>
          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
          <url>http://www.sun.com/cddl/cddl.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>javax.xml</groupId>
      <artifactId>jaxb-api</artifactId>
      <name>Java Architecture for XML Binding (JAXB API)</name>
      <organization>
        <name>Sun Microsystems</name>
        <url>http://www.sun.com/</url>
      </organization>
      <licenses>
        <license>
          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
          <url>http://www.sun.com/cddl/cddl.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>xalan</groupId>
      <artifactId>xalan</artifactId>
      <name>Apache Xalan-Java</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>net.java.dev.stax-utils</groupId>
      <artifactId>stax-utils</artifactId>
      <name>StAX Utilities</name>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>wss4j</groupId>
      <artifactId>wss4j</artifactId>
      <name>Apache WSS4J</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>jdom</groupId>
      <artifactId>jdom</artifactId>
      <name>JDOM</name>
      <organization>
        <name>jdom.org</name>
        <url>http://www.jdom.org</url>
      </organization>
      <licenses>
        <license>
          <name>Modified Apache Software License</name>
          <url>licenses/jdom.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>xml-security</groupId>
      <artifactId>xmlsec</artifactId>
      <name>XML Security</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
      <name>XML APIs</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>bouncycastle</groupId>
      <artifactId>bcprov-jdk14</artifactId>
      <name>Bouncy Castle Crypto APIs for Java</name>
      <organization>
        <name>The Legion of the Bouncy Castle</name>
        <url>http://www.bouncycastle.org</url>
      </organization>
      <licenses>
        <license>
          <name>Bouncy Castle License</name>
          <url>http://www.bouncycastle.org/licence.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>ant</groupId>
      <artifactId>ant</artifactId>
      <name>Apache Ant</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>ant</groupId>
      <artifactId>ant-nodeps</artifactId>
      <name>Apache Ant (nodeps)</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.codehaus.jettison</groupId>
      <artifactId>jettison</artifactId>
      <name>Jettison</name>
      <organization>
        <name>Envoi Solutions LLC</name>
        <url>http://www.envoisolutions.com</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://jettison.codehaus.org/License</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.mina</groupId>
      <artifactId>mina-core</artifactId>
      <name>Apache MINA Core API</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.mina</groupId>
      <artifactId>mina-filter-ssl</artifactId>
      <name>Apache MINA SSL Filter</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <name>Apache Commons Codec</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <name>Apache Commons Collections</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <name>Apache Commons DBCP</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>commons-jexl</groupId>
      <artifactId>commons-jexl</artifactId>
      <name>Apache Commons JEXL</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <name>Apache Commons Logging</name>
      <url>http://commons.apache.org/logging</url>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging-api</artifactId>
      <name>Apache Commons Logging Api</name>
      <url>http://commons.apache.org/logging</url>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>commons-pool</groupId>
      <artifactId>commons-pool</artifactId>
      <name>Apache Commons Pool</name>
      <url>http://commons.apache.org/pool</url>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>commons-vfs</groupId>
      <artifactId>commons-vfs</artifactId>
      <name>Apache Commons VFS</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-core</artifactId>
      <name>ActiveMQ :: Core</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-core</artifactId>
      <name>Camel :: Core</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-classloader</artifactId>
      <name>XBean :: Classloader</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-finder</artifactId>
      <name>XBean :: Classpath Resource Finder</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-naming</artifactId>
      <name>XBean :: Naming</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-reflect</artifactId>
      <name>XBean :: Reflect</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-spring</artifactId>
      <name>XBean :: Spring</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <name>SLF4J API Module</name>
      <organization>
        <name>QOS.ch</name>
        <url>http://www.qos.ch</url>
      </organization>
      <licenses>
        <license>
          <name>MIT style</name>
          <url>http://www.slf4j.org/license.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <name>SLF4J JDK14 Binding</name>
      <organization>
        <name>QOS.ch</name>
        <url>http://www.qos.ch</url>
      </organization>
      <licenses>
        <license>
          <name>MIT style</name>
          <url>http://www.slf4j.org/license.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <name>Log4j</name>
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.components</groupId>
      <artifactId>geronimo-connector</artifactId>
      <name>Apache Geronimo TxManager :: Connector</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.components</groupId>
      <artifactId>geronimo-transaction</artifactId>
      <name>Apache Geronimo TxManager :: Transaction</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.springframework.osgi</groupId>
      <artifactId>spring-osgi-core</artifactId>
      <name>Spring OSGi Core</name>
      <url>http://www.springframework.org/osgi/</url>
      <organization>
        <name>Spring Framework</name>
        <url>http://www.springframework.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.springframework.osgi</groupId>
      <artifactId>spring-osgi-extender</artifactId>
      <name>Spring OSGi Extender</name>
      <url>http://www.springframework.org/osgi/</url>
      <organization>
        <name>Spring Framework</name>
        <url>http://www.springframework.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.springframework.osgi</groupId>
      <artifactId>spring-osgi-io</artifactId>
      <name>Spring OSGi IO</name>
      <url>http://www.springframework.org/osgi/</url>
      <organization>
        <name>Spring Framework</name>
        <url>http://www.springframework.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.objectweb.howl</groupId>
      <artifactId>howl</artifactId>
      <name>Howl Logger</name>
      <url>http://howl.objectweb.org/</url>
      <organization>
        <name>ObjectWeb</name>
        <url>http://www.objectweb.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The BSD License</name>
          <url>http://howl.objectweb.org/license.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-classworlds</artifactId>
      <name>Plexus Classworlds</name>
      <url>http://plexus.codehaus.org/plexus-classworlds/</url>
      <organization>
        <name>Codehaus</name>
        <url>http://www.codehaus.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>com.thoughtworks.xstream</groupId>
      <artifactId>xstream</artifactId>
      <name>XStream Core</name>
      <url>http://xstream.codehaus.org/</url>
      <organization>
        <name>Codehaus</name>
        <url>http://www.codehaus.org/</url>
      </organization>
      <licenses>
        <license>
          <name>The BSD License</name>
          <url>http://xstream.codehaus.com/license.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-activation_1.1_spec</artifactId>
      <name>Apache Geronimo Specs :: Activation 1.1</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
      <name>Apache Geronimo Specs :: J2EE Connector 1.5</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
      <name>Apache Geronimo Specs :: J2EE Management 1.1</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-javamail_1.4_spec</artifactId>
      <name>Apache Geronimo Specs :: JavaMail 1.4</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-jms_1.1_spec</artifactId>
      <name>Apache Geronimo Specs :: JMS 1.1</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-jta_1.1_spec</artifactId>
      <name>Apache Geronimo Specs :: JTA 1.1</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-saaj_1.3_spec</artifactId>
      <name>Apache Geronimo Specs :: SAAJ 1.3</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-servlet_2.5_spec</artifactId>
      <name>Apache Geronimo Specs :: Servlet 2.5</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
 <supplement>
    <project>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-stax-api_1.0_spec</artifactId>
      <name>Apache Geronimo Specs :: Stax API 1.0</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell</groupId>
      <artifactId>gshell-command-api</artifactId>
      <name>Apache GShell Command API</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell</groupId>
      <artifactId>gshell-core</artifactId>
      <name>Apache GShell Core</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell</groupId>
      <artifactId>gshell-parser</artifactId>
      <name>Apache GShell Parser</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell</groupId>
      <artifactId>gshell-whisper</artifactId>
      <name>Apache GShell Whisper</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell.remote</groupId>
      <artifactId>gshell-remote-client</artifactId>
      <name>Apache GShell Remote :: Client</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell.remote</groupId>
      <artifactId>gshell-remote-common</artifactId>
      <name>Apache GShell Remote :: Common</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell.remote</groupId>
      <artifactId>gshell-remote-server</artifactId>
      <name>Apache GShell Remote :: Server</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell.support</groupId>
      <artifactId>gshell-ansi</artifactId>
      <name>Apache GShell Support :: ANSI</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell.support</groupId>
      <artifactId>gshell-clp</artifactId>
      <name>Apache GShell Support :: Command-Line Processor (CLP)</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell.support</groupId>
      <artifactId>gshell-common</artifactId>
      <name>Apache GShell Support :: Common</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell.support</groupId>
      <artifactId>gshell-i18n</artifactId>
      <name>Apache GShell Support :: i18n</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.apache.geronimo.gshell.support</groupId>
      <artifactId>gshell-prefs</artifactId>
      <name>Apache GShell Support :: Preferences</name> 
      <organization>
        <name>The Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
      </organization>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>jline</groupId>
      <artifactId>jline</artifactId>
      <name>JLine</name>
      <url>http://jline.sourceforge.net</url>
      <organization>
        <name>JLine</name>
        <url>http://jline.sourceforge.net</url>
      </organization>
      <licenses>
        <license>
          <name>The BSD License</name>
          <url>http://jline.sourceforge.net/license.html</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty</artifactId>
      <name>Jetty Server</name>
      <url>http://jetty.mortbay.org/</url>
      <organization>
	    <name>Mort Bay Consulting</name>
	    <url>http://www.mortbay.com</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-util</artifactId>
      <name>Jetty Utilities</name>
      <url>http://jetty.mortbay.org/</url>
      <organization>
	    <name>Mort Bay Consulting</name>
	    <url>http://www.mortbay.com</url>
      </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.base</groupId>
      <artifactId>ops4j-base-lang</artifactId>
      <name>OPS4J Base - Lang</name>
      <url>http://www.ops4j.org/projects/base/ops4j-base-lang</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.base</groupId>
      <artifactId>ops4j-base-util-collections</artifactId>
      <name>OPS4J Base - Util - Collections</name>
      <url>http://www.ops4j.org/projects/base/ops4j-base-util-collections</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.base</groupId>
      <artifactId>ops4j-base-util-xml</artifactId>
      <name>OPS4J Base - Util - XML</name>
      <url>http://www.ops4j.org/projects/base/ops4j-base-util-xml</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.logging</groupId>
      <artifactId>pax-logging-api</artifactId>
      <name>OPS4J - Pax Logging API</name>
      <url>http://www.ops4j.org/projects/pax/logging/pax-logging-api</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.logging</groupId>
      <artifactId>pax-logging-service</artifactId>
      <name>OPS4J - Pax Logging Service</name>
      <url>http://www.ops4j.org/projects/pax/logging/pax-logging-service</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.swissbox</groupId>
      <artifactId>pax-swissbox-core</artifactId>
      <name>OPS4J Pax Swissbox - OSGi Core</name>
      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-core</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.swissbox</groupId>
      <artifactId>pax-swissbox-extender</artifactId>
      <name>OPS4J Pax Swissbox - Extender</name>
      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-extender</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.swissbox</groupId>
      <artifactId>pax-swissbox-lifecycle</artifactId>
      <name>OPS4J Pax Swissbox - Lifecycle</name>
      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-lifecycle</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.swissbox</groupId>
      <artifactId>pax-swissbox-optional-jcl</artifactId>
      <name>OPS4J Pax Swissbox - Optional JCL</name>
      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-optional-jcl</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.swissbox</groupId>
      <artifactId>pax-swissbox-tracker</artifactId>
      <name>OPS4J Pax Swissbox - Tracker</name>
      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-tracker</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.url</groupId>
      <artifactId>pax-url-mvn</artifactId>
      <name>OPS4J Pax Url - mvn:</name>
      <url>http://www.ops4j.org/projects/pax/url/pax-url-mvn</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.url</groupId>
      <artifactId>pax-url-war</artifactId>
      <name>OPS4J Pax Url - war:</name>
      <url>http://www.ops4j.org/projects/pax/url/pax-url-war</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.web</groupId>
      <artifactId>pax-web-bundle</artifactId>
      <name>OPS4J Pax Web - Web Container</name>
      <url>http://www.ops4j.org/projects/pax/web/pax-web-bundle</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.web</groupId>
      <artifactId>pax-web-jsp</artifactId>
      <name>OPS4J Pax Web - JSP</name>
      <url>http://www.ops4j.org/projects/pax/web/pax-web-jsp</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.web-extender</groupId>
      <artifactId>pax-web-ex-war</artifactId>
      <name>OPS4J Pax Web Extender - WAR</name>
      <url>http://www.ops4j.org/projects/pax/web-extender/pax-web-ex-war</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
  <supplement>
    <project>
      <groupId>org.ops4j.pax.web-extender</groupId>
      <artifactId>pax-web-ex-whiteboard</artifactId>
      <name>OPS4J Pax Web Extender - Whiteboard</name>
      <url>http://www.ops4j.org/projects/pax/web-extender/pax-web-ex-whiteboard</url>
	  <organization>
	    <name>OPS4J - Open Participation Software for Java</name>
	    <url>http://www.ops4j.org/</url>
	  </organization>
      <licenses>
        <license>
          <name>The Apache Software License, Version 2.0</name>
          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
      </licenses>
    </project>
  </supplement>
</supplementalDataModels>
