public Statement apply()

in commons-testing-junit4/src/main/java/org/apache/commons/testing/junit4/SecurityManagerTestRule.java [68:90]


    public Statement apply(final Statement base, final Description description) {
        return new Statement() {
            private void after() {
                System.setSecurityManager(securityManagerBefore);
            }

            private void before() {
                securityManagerBefore = System.getSecurityManager();
                System.setSecurityManager(securityManager);

            }

            @Override
            public void evaluate() throws Throwable {
                before();
                try {
                    base.evaluate();
                } finally {
                    after();
                }
            }
        };
    }