.getSlot( TemplateParameterDefinition.DEFAULT_SLOT );
.getSlot( ITemplateParameterDefinitionModel.DEFAULT_SLOT );
	private void createTemplateFromDesignElement( TemplateElement template,			DesignElement base )	{		assert base instanceof ReportItem || base instanceof SimpleDataSet;		assert template != null;		assert module instanceof ReportDesign;		// create a template parameter definition element and make a unique name		// for it		try		{			TemplateParameterDefinition templateParam = new TemplateParameterDefinition( );			module.makeUniqueName( templateParam );			// get the handle to do the next operations and add it to the module			PropertyCommand propertyCmd = new PropertyCommand( module,					templateParam );			if ( base instanceof SimpleDataSet )				propertyCmd.setProperty(						TemplateParameterDefinition.ALLOWED_TYPE_PROP,						DesignChoiceConstants.TEMPLATE_ELEMENT_TYPE_DATA_SET );			else				propertyCmd.setProperty(						TemplateParameterDefinition.ALLOWED_TYPE_PROP, base								.getElementName( ) );			ContainerSlot defaultSlot = templateParam					.getSlot( TemplateParameterDefinition.DEFAULT_SLOT );			assert defaultSlot != null;			// clone the base element and add it to the default slot			DesignElement defaultElement = null;			defaultElement = (DesignElement) base					.doClone( CopyForTemplatePolicy.getInstance( ) );			assert defaultElement != null;			ContentCommand contentCmd = null;			// if the default element has a referred template definition, clear			// the value and delete the referred definition			TemplateParameterDefinition temp = defaultElement					.getTemplateParameterElement( module );			if ( temp != null )			{				propertyCmd = new PropertyCommand( module, defaultElement );				propertyCmd.setProperty(						IDesignElementModel.REF_TEMPLATE_PARAMETER_PROP, null );				propertyCmd = new PropertyCommand( module, base );				propertyCmd.setProperty(						IDesignElementModel.REF_TEMPLATE_PARAMETER_PROP, null );			}			contentCmd = new ContentCommand( module, templateParam );			contentCmd.add( defaultElement,					TemplateParameterDefinition.DEFAULT_SLOT );			contentCmd = new ContentCommand( module, module );			contentCmd.add( templateParam,					ReportDesign.TEMPLATE_PARAMETER_DEFINITION_SLOT );			// let the template handle refer the template parameter definition			propertyCmd = new PropertyCommand( module, template );			propertyCmd.setProperty(					TemplateElement.REF_TEMPLATE_PARAMETER_PROP, templateParam							.getName( ) );		}		catch ( ContentException e )		{			assert false;		}		catch ( NameException e )		{			assert false;		}		catch ( SemanticException e )		{			assert false;		}		catch ( CloneNotSupportedException e )		{			assert false;		}	}