code: protected boolean isWriteAllowed(String key, Object value) {
          // check internal handlers first
          for (ISharedObjectSecurity handler : securityHandlers) {
              if (!handler.isWriteAllowed(this, key, value)) {
                  return false;
              }
          }
          // check global SO handlers next
          final Set<ISharedObjectSecurity> handlers = getSecurityHandlers();
          if (handlers == null) {
              return true;
          }
          for (ISharedObjectSecurity handler : handlers) {
              if (!handler.isWriteAllowed(this, key, value)) {
                  return false;
              }
          }
          return true;
      }
docs: Call handlers and check if writing to the SO is allowed.
  
  @param key
  key
  @param value
  value
  @return is write allowed