Por que uma classe interna anônima não contém nada gerado a partir desse código?

package com.test;

public class OuterClass {
    public class InnerClass {
        public class InnerInnerClass {

        }
    }

    public class InnerClass2 {

    }

    //this class should not exist in OuterClass after dummifying
    private class PrivateInnerClass {
        private String getString() {
            return "hello PrivateInnerClass";
        }
    }

    public String getStringFromPrivateInner() {
        return new PrivateInnerClass().getString();
    }
}

Quando executadojavac na linha de comando comSun JVM 1.6.0_20, esse código produz 6 arquivos .class:

OuterClass.class
OuterClass $ 1.class
OuterClass $ InnerClass.class
OuterClass $ InnerClass2.class
OuterClass $ InnerClass $ InnerInnerClass.class
OuterClass $ PrivateInnerClass.class

Quando executado através do JDT no eclipse, ele produz apenas 5 classes.

OuterClass.class
OuterClass $ 1.class
OuterClass $ InnerClass.class
OuterClass $ InnerClass2.class
OuterClass $ InnerClass $ InnerInnerClass.class
OuterClass $ PrivateInnerClass.class

Quando descompilado,OuterClass$1.class não contém nada. De onde vem essa classe extra e por que é criada?

questionAnswers(5)

yourAnswerToTheQuestion