code: void refreshConfiguration(ResourceManager configuration)
      {
          this.definition = configuration;
          this.key = configuration.getKey().toLowerCase();
          this.currentProperties = new HashMap<>();
  
          // Add hard-coded defaults to properties
          setDefaultProperties();
  
          // Add values from new configuration to properties
          this.currentProperties.putAll(configuration.getParameterCache());
      }
docs: Called by the engine when it has decided configuration has changed. Care should be taken to ensure continuity of operation despite
  configuration change - resource amount currently in used should not be reset for example.<br>
  Note that the RM key can change, but never the RM ID.<br>
  <br>
  This will often be overloaded - but calling the base implementation may still be useful as it handles configuration precedence.