Tipo incorrecto en la pila de operandos ... al usar jdk 8, falla lambdas con clases internas anónimas, ¿por qué?

Ejecutar el siguiente código da como resultado el mensaje de errorBad type on operand stack.

public static void main(String args[]) {
        TransformService transformService = (inputs) -> {
            return new ArrayList<String>(3) {{
                add("one");
                add("two");
                add("three");
            }};
        };

        Collection<Integer> inputs = new HashSet<Integer>(2) {{
            add(5);
            add(7);
        }};
        Collection<String> results = transformService.transform(inputs);
        System.out.println(results.size());
    }

    public interface TransformService {
        Collection<String> transform(Collection<Integer> inputs);
    }

Sin embargo, la eliminación de la inicialización de doble refuerzo (clases internas anónimas) dentro de la lamda permite que el código se ejecute como se espera, ¿por qué? Los siguientes trabajos:

public class SecondLambda {
    public static void main(String args[]) {
        TransformService transformService = (inputs) -> {
            Collection<String> results = new ArrayList<String>(3);
            results.add("one");
            results.add("two");
            results.add("three");

            return results;
        };

        Collection<Integer> inputs = new HashSet<Integer>(2) {{
            add(5);
            add(7);
        }};
        Collection<String> results = transformService.transform(inputs);
        System.out.println(results.size());
    }

    public interface TransformService {
        Collection<String> transform(Collection<Integer> inputs);
    }
}

Error del compilador? Es la versión de acceso temprano después de todo ...

(Esto no se compilará a menos que tenga la últimadescargar jdk 8 lambda.)

Respuestas a la pregunta(3)

Su respuesta a la pregunta