if ( array[0] instanceof ColumnHandle )
if ( array[0] instanceof ColumnHandle && ((ColumnHandle)array[0]).getRoot() != null)
	public static boolean handleValidateDragInOutline( Object selection )	{		if ( selection instanceof StructuredSelection )		{			return handleValidateDragInOutline( ( (StructuredSelection) selection )					.toArray( ) );		}		if ( selection instanceof Object[] )		{			Object[] array = (Object[]) selection;			if ( array.length == 0 )			{				return false;			}			if ( array[0] instanceof ColumnHandle )			{				boolean bool = false;				int columnNumber = HandleAdapterFactory.getInstance( )						.getColumnHandleAdapter( array[0] ).getColumnNumber( );				Object parent = ( (ColumnHandle) array[0] ).getContainer( );				if ( parent instanceof TableHandle )				{					bool = ( (TableHandle) parent )							.canCopyColumn( columnNumber );				}				else if ( parent instanceof GridHandle )				{					bool = ( (GridHandle) parent ).canCopyColumn( columnNumber );				}				if ( bool && array.length == 1 )				{					return true;				}				if ( bool && array[1] instanceof CellHandle )				{					return true;				}				return false;			}			for ( int i = 0; i < array.length; i++ )			{				if ( checkContainerExists( array[i], array ) )					continue;				if ( !handleValidateDragInOutline( array[i] ) )					return false;			}			return true;		}		if ( selection instanceof ReportElementModel )		{			return handleValidateDragInOutline( ( (ReportElementModel) selection )					.getSlotHandle( ) );		}		if ( selection instanceof SlotHandle )		{			SlotHandle slot = (SlotHandle) selection;			DesignElementHandle handle = slot.getElementHandle( );			return slot.getContents( ).size( ) > 0					&& ( handle instanceof ListHandle || handle instanceof ListGroupHandle );		}		if ( selection instanceof ColumnHandle )		{			int columnNumber = HandleAdapterFactory.getInstance( )					.getColumnHandleAdapter( selection ).getColumnNumber( );			Object parent = ( (ColumnHandle) selection ).getContainer( );			if ( parent instanceof TableHandle )			{				return ( (TableHandle) parent ).canCopyColumn( columnNumber );			}			else if ( parent instanceof GridHandle )			{				return ( (GridHandle) parent ).canCopyColumn( columnNumber );			}		}		return selection instanceof ReportItemHandle				|| selection instanceof DataSetHandle				|| selection instanceof DataSourceHandle				|| selection instanceof ScalarParameterHandle				|| selection instanceof ParameterGroupHandle				// || selection instanceof RowHandle				|| selection instanceof GroupHandle				|| selection instanceof StyleHandle				|| selection instanceof ThemeHandle				|| selection instanceof EmbeddedImageHandle				|| selection instanceof TemplateElementHandle				|| selection instanceof DataSetItemModel;	}