public void execute() {
   if (this.nestedTask == null) {
     throw new BuildException("Missing nested element");
   }
   if (this.name == null) {
     throw new BuildException("Name not specified");
   }
   this.name = ProjectHelper.genComponentName(this.getURI(), this.name);
   final ComponentHelper helper = ComponentHelper.getComponentHelper(this.getProject());
   final String componentName =
       ProjectHelper.genComponentName(this.nestedTask.getNamespace(), this.nestedTask.getTag());
   final AntTypeDefinition def = helper.getDefinition(componentName);
   if (def == null) {
     throw new BuildException("Unable to find typedef " + componentName);
   }
   final PreSetDefinition newDef = new PreSetDefinition(def, this.nestedTask);
   newDef.setName(this.name);
   helper.addDataTypeDefinition(newDef);
   this.log("defining preset " + this.name, 3);
 }