public static String substitute(String pattern, Artifact artifact) { return substitute(pattern, artifact, null);
public static String substitute(String pattern, ModuleRevisionId moduleRevision) { return substitute(pattern, moduleRevision.getOrganisation(), moduleRevision.getName(), moduleRevision.getRevision(), "ivy", "ivy", "xml", null, moduleRevision.getAttributes());
    public static String substitute(String pattern, Artifact artifact) {        return substitute(pattern, artifact, null);    }