Library lib = new Library( this.antProperties, this.wtkLibPath, this.projectLibPath, this.polishLibPath, definition );
Library lib = new Library( this.antProperties, this.wtkLibPath, this.projectLibPath, this.polishLibPath, definition, this );
	private void loadLibraries(InputStream is) 	throws JDOMException, IOException, InvalidComponentException 	{		if (is == null) {			throw new BuildException("Unable to load apis.xml, no file found.");		}		SAXBuilder builder = new SAXBuilder( false );		Document document = builder.build( is );		List xmlList = document.getRootElement().getChildren();		for (Iterator iter = xmlList.iterator(); iter.hasNext();) {			Element definition = (Element) iter.next();			Library lib = new Library( this.antProperties, this.wtkLibPath, this.projectLibPath, this.polishLibPath, definition );			Library existingLib = (Library) this.libraries.get( lib.getSymbol() ); 			if ( existingLib != null ) {				throw new InvalidComponentException("The library [" + lib.getFullName() 						+ "] uses the symbol [" + lib.getSymbol() + "], which is already used by the "						+ "library [" + existingLib.getFullName() 						+ "]. Please adjust your settings in [apis.xml].");			}			String[] names = lib.getNames();			for (int i = 0; i < names.length; i++) {				String name = names[i];				existingLib = (Library) this.libraries.get( name ); 				if ( existingLib != null ) {					throw new InvalidComponentException("The library [" + lib.getFullName() 							+ "] uses the name [" + name + "], which is already used by the "							+ "library [" + existingLib.getFullName() 							+ "]. Please adjust your settings in [apis.xml].");				}				this.libraries.put( name, lib );			}			this.libraries.put( lib.getSymbol(), lib );		}			}