Как создать внутренний класс с отражением в Java?

Я пытаюсь создать экземпляр внутреннего класса, определенного в следующем коде Java:

 public class Mother {
      public class Child {
          public void doStuff() {
              // ...
          }
      }
 }

Когда я пытаюсь получить экземпляр ребенка, как это

 Class<?> clazz= Class.forName("com.mycompany.Mother$Child");
 Child c = clazz.newInstance();

Я получаю это исключение:

 java.lang.InstantiationException: com.mycompany.Mother$Child
    at java.lang.Class.newInstance0(Class.java:340)
    at java.lang.Class.newInstance(Class.java:308)
    ...

Чего мне не хватает?