@Override
    public void checkPermission ( Permission perm ) {
        if ( perm instanceof RuntimePermission ) {
            if ( checkRuntimePermission((RuntimePermission) perm) ) {
                return;
            }
        }
        else if ( perm instanceof ReflectPermission ) {
            return;
        }
        else if ( perm instanceof LoggingPermission ) {
            return;
        }
        else if ( perm instanceof SecurityPermission ) {
            return;
        }
        else if ( perm instanceof PropertyPermission ) {
            return;
        }
        else if ( perm instanceof NetPermission && perm.getName().equals("specifyStreamHandler") ) {
            return;
        }
        else if ( perm instanceof FilePermission && perm.getActions().equals("read") ) {
            return;
        }
        else if ( perm instanceof SerializablePermission ) {
            return;
        }

        super.checkPermission(perm);
    }
{@inheritDoc}

@see java.lang.SecurityManager#checkPermission(java.security.Permission)
src/main/java/marshalsec/SideEffectSecurityManager.java