You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: conversion.go
    path of file: ./repos/dapr/pkg/apis/subscriptions/v2alpha1
    
    the code of the file until where you have to start completion: package v2alpha1

import (
	"errors"

	"sigs.k8s.io/controller-runtime/pkg/conversion"

	"github.com/dapr/dapr/pkg/apis/subscriptions/v1alpha1"
)

// +kubebuilder:docs-gen:collapse=Imports

/*
Our "spoke" versions need to implement the
[`Convertible`](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/conversion?tab=doc#Convertible)
interface.  Namely, they'll need `ConvertTo` and `ConvertFrom` methods to convert to/from
the hub version.
*/

/*
ConvertTo is expected to modify its argument to contain the converted object.
Most of the conversion is straightforward copying
    
func (s *Subscription) ConvertTo(dstRaw conversion.Hub) error {
	dst, ok := dstRaw.(*v1alpha1.Subscription)
	if !ok {
		return errors.New("expected to convert to *v1alpha1.Subscription")
	}

	// Copy scopes
	dst.Scopes = s.Scopes

	// ObjectMeta
	dst.ObjectMeta = s.ObjectMeta

	// Spec
	dst.Spec.Pubsubname = s.Spec.Pubsubname
	dst.Spec.Topic = s.Spec.Topic
	dst.Spec.Metadata = s.Spec.Metadata
	dst.Spec.Route = s.Spec.Routes.Default
	dst.Spec.DeadLetterTopic = s.Spec.DeadLetterTopic
	dst.Spec.BulkSubscribe = *convertBulkSubscriptionV2alpha1ToV1alpha1(&s.Spec.BulkSubscribe)

	// +kubebuilder:docs-gen:collapse=rote conversion
	return nil
}