code: public void checkValidity() throws ACMValidationException {
                  if (context == null) {
                          throw new ACMValidationException("Invalid state of AC model: No context assigned");
                  }
                  if (!getContext().containsActivities()) {
                          return;
                  }
                  for (String activity : getContext().getActivities()) {
                          try {
                                  if (!isExecutable(activity)) {
                                          throw new ACMValidationException("Model contains non-executable transactions: " + activity);
                                  }
                          } catch (CompatibilityException e) {
                                  throw new ACMValidationException("Error during validation check: " + e.getMessage());
                          }
                  }
          }
docs: An Access Control Model is considered valid, if all transactions are
  executable.
  
  @throws ACMValidationException