docs: public void validate() {
      StringBuilder validationErrorBuilder = new StringBuilder("Process engine configuration is invalid: \n");
      boolean isValid = true;    
      
      if(datasourceJndiName == null || datasourceJndiName.isEmpty()) {
        isValid = false;
        validationErrorBuilder.append(" property 'datasource' cannot be null \n");      
      }
      if(engineName == null || engineName.isEmpty()) {
        isValid = false;
        validationErrorBuilder.append(" property 'engineName' cannot be null \n");
      }
  
      for (int i = 0; i < pluginConfigurations.size(); i++) {
        ProcessEnginePluginXml pluginConfiguration = pluginConfigurations.get(i);
        if (pluginConfiguration.getPluginClass() == null || pluginConfiguration.getPluginClass().isEmpty()) {
          isValid = false;
          validationErrorBuilder.append(" property 'class' in plugin[" + i + "] cannot be null \n");
        }
      }
      
      if(!isValid) {
        throw new ProcessEngineException(validationErrorBuilder.toString());
      }
    }