Apache Commons Chain
Copyright 2001-2011 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This product includes software - CGLIB - developed by
Juozas Baliuka, Chris Nokleberg and Sam Berlin (http://cglib.sourceforge.net/)

ASM - Copyright (c) 2000-2011 INRIA, France Telecom
All rights reserved. (http://asm.ow2.org/)
