Что означает код @TypeConverterAnnotation?

Следующий код с веб-страницы, я не могу понять, что код @TypeConverterAnnotation означает?

Это просто аннотация, я могу удалить код?

package mobi.porquenao.poc.kotlin.core import com.raizlabs.android.dbflow.converter.TypeConverter import java.util.* import com.raizlabs.android.dbflow.annotation.TypeConverter as TypeConverterAnnotation @TypeConverterAnnotation class CalendarConverter : TypeConverter<Long, Calendar>() { override fun getDBValue(model: Calendar): Long? { return model.timeInMillis } override fun getModelValue(data: Long?): Calendar { val calendar = Calendar.getInstance() calendar.timeInMillis = data!! return calendar } } 

Да, это просто аннотация из проекта DBFlow :

 /** * Author: andrewgrosner * Description: Marks a class as being a TypeConverter. * A type converter will turn a non-model, non-SQLiteTyped class into * a valid database type. */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.TYPE) public @interface TypeConverter { /** * @return Specify a set of subclasses by which the {@link TypeConverter} * registers for. For each one, this will create a new instance of the converter. */ Class<?>[] allowedSubtypes() default {}; } 

Как мы можем узнать, нужна ли вам это в коде или нет? 🙂