_ivypattern = getProperty(_ivypattern, ivy, "ivy.retrieve.ivy.pattern");
    public void execute() throws BuildException {        Ivy ivy = getIvyInstance();                _organisation = getProperty(_organisation, ivy, "ivy.organisation");        _module = getProperty(_module, ivy, "ivy.module");        ensureResolved(isHaltonfailure(), getOrganisation(), getModule());                _organisation = getProperty(_organisation, ivy, "ivy.organisation");        _module = getProperty(_module, ivy, "ivy.module");                if (_cache == null) {            _cache = ivy.getDefaultCache();        }        _pattern = getProperty(_pattern, ivy, "ivy.retrieve.pattern");        _ivypattern = getProperty(_ivypattern, ivy, "ivy.retrieve.ivy.pattern");        _conf = getProperty(_conf, ivy, "ivy.resolved.configurations");        if ("*".equals(_conf)) {            _conf = getProperty(ivy, "ivy.resolved.configurations");            if (_conf == null) {                throw new BuildException("bad provided for ivy retrieve task: * can only be used with a prior call to <resolve/>");            }        }                if (_organisation == null) {            throw new BuildException("no organisation provided for ivy retrieve task: It can either be set explicitely via the attribute 'organisation' or via 'ivy.organisation' property or a prior call to <resolve/>");        }        if (_module == null) {            throw new BuildException("no module name provided for ivy retrieve task: It can either be set explicitely via the attribute 'module' or via 'ivy.module' property or a prior call to <resolve/>");        }        if (_conf == null) {            throw new BuildException("no conf provided for ivy retrieve task: It can either be set explicitely via the attribute 'conf' or via 'ivy.resolved.configurations' property or a prior call to <resolve/>");        }        try {            ivy.retrieve(new ModuleId(_organisation, _module), splitConfs(_conf), _cache, _pattern, _ivypattern);        } catch (Exception ex) {            throw new BuildException("impossible to ivy retrieve: "+ex.getMessage(), ex);        }    }