public Element appendChildrenFromLocal( String appName, Document doc, String rootName )
			throws ServiceException {
		Report.debug( "bezzotechcosign", "Entering appendChildrenFromLocal, passed in parameters:" +
				"\n\tappName: " + appName + "\n\tdoc:\n\trootName: " + rootName, null );
		String locStr = m_binder.getLocal( appName + "." + rootName + ".fields" );
		if ( locStr == null )
			throw new ServiceException( appName + " has not been installed properly" );

		Vector fields = ( Vector )StringUtils.parseArray( locStr, ';', '\\' );
		Element root = doc.createElement( rootName );
		for ( Enumeration fieldsEnum = fields.elements(); fieldsEnum.hasMoreElements(); ) {
			String fieldName = ( String )fieldsEnum.nextElement();
			String fieldValue = m_binder.getLocal( appName + "." + rootName + "." + fieldName );
			if ( fieldValue != null || fieldValue != "" ) {
				Vector fieldValues = StringUtils.parseArray( fieldValue, ',', '\\' );
				for ( Enumeration fieldValuesEnum = fieldValues.elements(); fieldValuesEnum.hasMoreElements(); ) {
					Element child = doc.createElement( fieldName );
					fieldValue = ( String )fieldValuesEnum.nextElement();
					Text text = doc.createTextNode( fieldValue );
					child.appendChild( text );
					root.appendChild( child );
				}
			}
			else {
				Element child = doc.createElement( fieldName );
				Text text = doc.createTextNode( "&#x200B;" );
				child.appendChild( text );
				root.appendChild( child );
			}
		}
		return root;
	}