rem: if (aArc.EqualsNode(this.kNC_child)) { 
add: if (aArc.EqualsNode(this.kNC_child) || aArc.EqualsNode(this.kNC_recursiveChild)) {    var listType = (aArc.EqualsNode(this.kNC_child) ? "flat.messagelist.ldap" : "recursive.messagelist.ldap"); 
context:     hasArcOut: function(aSource, aArc)     {        if (DEBUG) {            dump("hasArcOut() called with args: \n\t" + aSource.Value +              "\n\t" + aArc.Value + "\n\n");        }        var delegate;        if (aArc.EqualsNode(this.kNC_child)) {            try {                delegate = aSource.GetDelegate("messagelist.ldap",                        Components.interfaces.nsISupportsArray);            } catch (e) {            }            if (delegate != null) {                return true;            }        }        else {            var refStart = aArc.Value.indexOf("#");            if (aArc.Value.slice(0, refStart + 1) == LDAPATTR_NAMESPACE_URI) {                try {                    delegate = aSource.GetDelegate("message.ldap",                            Components.interfaces.nsILDAPMessage);                } catch (e) {                }                if (delegate != null) {                    var attributeName = aArc.Value.slice(refStart + 1);                    var attributeArray = this.getAttributeArray(delegate,                                                                 attributeName);                    if (attributeArray.length > 0) {                        return true;                    }                }            }        }        return false;    },
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/f3ed98029bfcf8255d62bc9d71b4805467673016/nsLDAPDataSource.js/clean/directory/xpcom/datasource/nsLDAPDataSource.js