public abstract VH provideViewHolder(View itemView); and public abstract void bindView(VH holder, int position, TreeNode node); should have their parameters annotated @NotNull to improve interoperability with Kotlin