Apache Felix iPOJO Annotations
Copyright 2008-2012 The Apache Software Foundation

This software was developed at the Apache Software Foundation
(http://www.apache.org) and may have dependencies on other
Apache software licensed under Apache License 2.0.

I. Included Third-Party Software

II. Used Third-Party Software

III. Overall License Summary
- Apache License 2.0
