code: @Override
      public void fireEvent(String configName, Optional<String> valueOpt) throws ConfigException
      {
          if (!subjectMap.containsKey(configName)) {
              throw new ConfigException("Unknown configName {}", configName);
          }
          emitEvent(configName, valueOpt);
      }
docs: A raw handle to cause this ConfigSource to be updated to the new value, emitting an event if it is different
  than the previous value.
  It is recommended to instead use {@link #set(Object)} to provide a type-safe value rather than using this method
  directly in tests.
  
  @param configName the string name of the configuration value to be fired
  @param valueOpt   an Optional String value of the config value to provide to the system. Optional.empty()
  implies that the value has been "unset" for the purposes of this config source.