Apache Felix Gogo Runtime
Copyright 2014 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Licensed under the Apache License 2.0.

This product includes software developped by
Udo Klimaschewski (http://UdoJava.com/).
Licensed under the MIT License.
