Object template = TemplateTransfer.getInstance( ).getTemplate( );
final Object template = TemplateTransfer.getInstance( ).getTemplate( );
	protected void handleDrop( )	{		Object template = TemplateTransfer.getInstance( ).getTemplate( );		Assert.isNotNull( template );		Assert.isTrue( handleValidateDrag( template ) );		updateTargetRequest( );		updateTargetEditPart( );		AbstractToolHandleExtends preHandle = null;		String transName = null;		if ( template instanceof String )		{			transName = TRANS_LABEL_CREATE_ELEMENT;			preHandle = BasePaletteFactory.getAbstractToolHandleExtendsFromPalletName(template);		}		else if ( handleValidateInsert( template ) )		{			transName = InsertInLayoutAction.DISPLAY_TEXT;			Object objectType = getFactory( template ).getObjectType( );			if ( objectType instanceof DataSetHandle )			{				preHandle = new DataSetToolExtends( );			}			else if ( objectType instanceof DataSetItemModel )			{				preHandle = new DataSetColumnToolExtends( );			}			else if ( objectType instanceof ScalarParameterHandle )			{				preHandle = new ParameterToolExtends( );			}		}		if ( preHandle != null )		{			SessionHandleAdapter.getInstance( )					.getReportDesignHandle( )					.getCommandStack( )					.startTrans( transName );			preHandle.setRequest( this.getCreateRequest( ) );			preHandle.setTargetEditPart( getTargetEditPart( ) );			Command command = this.getCommand( );			if ( command != null && command.canExecute( ) )			{				if ( !( preHandle.preHandleMouseUp( ) ) )				{					SessionHandleAdapter.getInstance( )							.getReportDesignHandle( )							.getCommandStack( )							.rollback( );					return;				}			}			super.handleDrop( );			SessionHandleAdapter.getInstance( )					.getReportDesignHandle( )					.getCommandStack( )					.commit( );			selectAddedObject( );		}	}