private String[] unalias(String[] path) {
String[] unalias(String[] path) {
    private String[] unalias(String[] path) {        String[] result = path;	if (log.isDebugEnabled()) {	    log.debug("External Path: " + toString(path));	    log.debug("Aliases: " + m_aliases.toString());	}        for (Iterator it = m_aliases.iterator(); it.hasNext(); ) {            Alias alias = (Alias) it.next();	    if (log.isDebugEnabled()) { 		log.debug("Testing Alias: " + alias); 	    }            if (alias.isMatch(path)) {		if (log.isDebugEnabled()) {		    log.debug("Matched");		}                String[] candidate = alias.unalias(path);		if (log.isDebugEnabled()) {		    log.debug("Candidate: " + toString(candidate));		}                if (propertyExists(candidate)) {		    if (log.isDebugEnabled()) {			log.debug("Candidate exists.");		    }                    result = candidate;                    break;                } else {		    if (log.isDebugEnabled()) {			log.debug("Candidate doesn't exist.");		    }                }            } else {		if (log.isDebugEnabled()) {		    log.debug("Didn't Matched");		}            }        }	if (log.isDebugEnabled()) {	    log.debug("Internal Path: " + toString(result));	}        return result;    }