@Test
    public void testANonNullOfWithNullPrimitiveTypesMA() {
        // The last error reported by the mock system.
        ExpectationError lastError = null;

        Schemer.begin();
        Schemer.willInvoke(1).of(joe).setBoolean(Schemer.aNonNullOf(
          boolean.class));
        try {
            joe.setBoolean_(null);
            fail("set null to aNonNullOf clause");
        } catch (UnsatisfiedOccurrenceError e) {
            lastError = e;
        }
        assertEndReportsError(lastError);

        Schemer.begin();
        Schemer.willInvoke(1).of(joe).setChar_(Schemer.aNonNullOf(char.class));
        try {
            joe.setChar_(null);
            fail("set null to aNonNullOf clause");
        } catch (UnsatisfiedOccurrenceError e) {
            lastError = e;
        }
        assertEndReportsError(lastError);

        Schemer.begin();
        Schemer.willInvoke(1).of(joe).setByte_(Schemer.aNonNullOf(byte.class));
        try {
            joe.setByte_(null);
            fail("set null to aNonNullOf clause");
        } catch (UnsatisfiedOccurrenceError e) {
            lastError = e;
        }
        assertEndReportsError(lastError);

        Schemer.begin();
        Schemer.willInvoke(1).of(joe).setShort_(Schemer.aNonNullOf(short.class));
        try {
            joe.setShort_(null);
            fail("set null to aNonNullOf clause");
        } catch (UnsatisfiedOccurrenceError e) {
            lastError = e;
        }
        assertEndReportsError(lastError);

        Schemer.begin();
        Schemer.willInvoke(1).of(joe).setInt_(Schemer.aNonNullOf(int.class));
        try {
            joe.setInt_(null);
            fail("set null to aNonNullOf clause");
        } catch (UnsatisfiedOccurrenceError e) {
            lastError = e;
        }
        assertEndReportsError(lastError);

        Schemer.begin();
        Schemer.willInvoke(1).of(joe).setLong_(Schemer.aNonNullOf(long.class));
        try {
            joe.setLong_(null);
            fail("set null to aNonNullOf clause");
        } catch (UnsatisfiedOccurrenceError e) {
            lastError = e;
        }
        assertEndReportsError(lastError);

        Schemer.begin();
        Schemer.willInvoke(1).of(joe).setFloat_(Schemer.aNonNullOf(float.class));
        try {
            joe.setFloat_(null);
            fail("set null to aNonNullOf clause");
        } catch (UnsatisfiedOccurrenceError e) {
            lastError = e;
        }
        assertEndReportsError(lastError);

        Schemer.begin();
        Schemer.willInvoke(1).of(joe).setDouble_(
          Schemer.aNonNullOf(double.class));
        try {
            joe.setDouble_(null);
            fail("set null to aNonNullOf clause");
        } catch (UnsatisfiedOccurrenceError e) {
            lastError = e;
        }
        assertEndReportsError(lastError);
    }