I have `createOld` method that I need to override and I cannot change it. I would like to use `TypeTag` to pattern match provided type in `createNew`. The goal is to find out how to call `createNew` from `createOld`. My current understanding is that compiler doesn't have enough type information about `A` in `createOld` method if it doesn't already come with `TypeTag[A]`.

```
object TypeTagFromClass {
  class C1
  class C2

  // How to get TypeTag[A] needed by createNew?
  def createOld[A](c: Class[A]): A = createNew ???

  def createNew[A : TypeTag]: A = {
    val result = typeOf[A] match {
      case a if a =:= typeOf[C1] => new C1()
      case a if a =:= typeOf[C2] => new C2()
    }
    result.asInstanceOf[A]
  }
}

```