code: public static Props loadPluginProps(final File pluginDir) {
      if (!pluginDir.exists()) {
        logger.error("Error! Plugin path " + pluginDir.getPath() + " doesn't exist.");
        return null;
      }
  
      if (!pluginDir.isDirectory()) {
        logger.error("The plugin path " + pluginDir + " is not a directory.");
        return null;
      }
  
      final File propertiesDir = new File(pluginDir, "conf");
      if (propertiesDir.exists() && propertiesDir.isDirectory()) {
        final File propertiesFile = new File(propertiesDir, "plugin.properties");
        final File propertiesOverrideFile =
            new File(propertiesDir, "override.properties");
  
        if (propertiesFile.exists()) {
          if (propertiesOverrideFile.exists()) {
            return loadProps(null, propertiesFile, propertiesOverrideFile);
          } else {
            return loadProps(null, propertiesFile);
          }
        } else {
          logger.error("Plugin conf file " + propertiesFile + " not found.");
          return null;
        }
      } else {
        logger.error("Plugin conf path " + propertiesDir + " not found.");
        return null;
      }
    }
docs: Load plugin properties
  
  @param pluginDir plugin's Base Directory
  @return The properties