code: @Override
      public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
          long timer = System.nanoTime();
          long random = (long) (Math.random() * Integer.MAX_VALUE);
          long token = timer ^ random;
          NGSecureUtilities.setSecurityToken(String.valueOf(token), component.getClientId());
          super.encodeBegin(context, component);
  
          NGSecurityFilter filter = findAndVerifySecurityFilter(context, component);
          showLegalDisclaimer(context, filter);
      }
docs: Stores a unique token in the session to prevent repeated submission of the same form.