@Override
 public void execute() throws BuildException {
   for (Node node : artifactSet.getNodes()) {
     String canonicalPath = null;
     try {
       canonicalPath = node.getFile().getCanonicalPath();
     } catch (IOException e) {
       log("An error occurred while getting artifact file canonical path", e, Project.MSG_WARN);
     }
     getProject().setProperty(property + ".file.path", canonicalPath);
     getProject().setProperty(property + ".archetypeId", node.getArtifact().getArtifactId());
     getProject().setProperty(property + ".groupId", node.getArtifact().getGroupId());
     getProject().setProperty(property + ".version", node.getArtifact().getBaseVersion());
     try {
       super.execute();
     } catch (Throwable e) {
       log("Couldn't execute the task for artifact " + node.getId(), e, Project.MSG_INFO);
     }
   }
 }
 public boolean accept(Node node) {
   return accept(node.getArtifact());
 }