Copyright (c) 2005 - 2007 The Apache Software Foundation

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

*----------------------------------------------------------------------*
* BSF3 was developed according to the JSR-223 specs, but has not yet   *
* been tested via the JSR-223 TCK. BSF can therefore not be considered *
* a compatible implementation of JSR-223.                              *
*----------------------------------------------------------------------*






