class UnrestrictedMethodAuthorizer implements MethodInvocationAuthorizer {

  @Override
  public boolean authorize(Method method, Object target) {
    // Return false for known dangerous methods.
    if (restrictedMethodAuthorizer.isPermanentlyForbiddenMethod(method, target)) {
      return false;
    }

    // Return true for non Geode classes.
    String packageName = target.getClass().getPackage().getName().toLowerCase();
    if (!packageName.startsWith(GEODE_BASE_PACKAGE)) {
      return true;
    }

    // Delegate to the default authorizer.
    return restrictedMethodAuthorizer.isAllowedGeodeMethod(method, target);
  }

  public  UnrestrictedMethodAuthorizer(Cache cache);
  public  UnrestrictedMethodAuthorizer(RestrictedMethodAuthorizer restrictedMethodAuthorizer);

}