context:     GetTarget: function(aSource, aProperty, aTruthValue) {        if (DEBUG) {            dump("GetTarget() called with args: \n\t" + aSource.Value +              "\n\t" + aProperty.Value + "\n\t" + aTruthValue + "\n\n");        }        var delegate;        var enumerator;        if (aProperty.EqualsNode(this.kNC_child)) {            try {                delegate = aSource.GetDelegate("messagelist.ldap",                                       Components.interfaces.nsISupportsArray);            } catch (e) {            }            if (delegate != null) {                if (delegate.Count() == 1) {                    return delegate.QueryElementAt(0,                                             Components.interfaces.nsIRDFNode);                }            }        }        else {            var refStart = aProperty.Value.indexOf("#");            if ( aProperty.Value.slice(0, refStart + 1) ==                  LDAPATTR_NAMESPACE_URI) {                try {                    delegate = aSource.GetDelegate("message.ldap",                            Components.interfaces.nsILDAPMessage);                } catch (e) {                }                if (delegate != null) {                    var attributeName = aProperty.Value.slice(refStart + 1);                    enumerator = new ArrayEnumerator(this.getAttributeArray(                        delegate, attributeName));                    if (enumerator.hasMoreElements()) {                        return enumerator.getNext();                    }                }            }        }        Components.returnCode = NS_RDF_NO_VALUE;        return null;    },
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/f3ed98029bfcf8255d62bc9d71b4805467673016/nsLDAPDataSource.js/clean/directory/xpcom/datasource/nsLDAPDataSource.js