Так-с, ну что ж, пора и по онтопику пошутить. Как говорит товарищ Lazytech, "nobody can understand..." и далее по тексту.
java reflection (scala syntax):
    def createInstance[DTO <: AnyRef](c: Class[DTO]): DTO = c.newInstance | 
scala reflection:
    def createInstance[DTO <: AnyRef : TypeTag](c: Class[DTO]): DTO = {
        import reflect.runtime.{universe => u}
        val m = u.runtimeMirror(getClass.getClassLoader)
        val c = u.typeOf[DTO].typeSymbol.asClass
        // Находим конструктор без аргументов среди overloaded-альтернатив:
        val cc = u.typeOf[DTO].declaration(u.nme.CONSTRUCTOR).asTerm.alternatives.
                map(_.asMethod).filter(m => m.paramss.size == 1 && m.paramss.head.isEmpty).head
        val cm = m.reflectClass(c)
        val ccm = cm.reflectConstructor(cc)
        ccm().asInstanceOf[DTO]
    } |