docs: public Config buildConfig(EcoTopologyDefinition topologyDefinition)
        throws IllegalArgumentException {
  
      Map<String, Object> configMap = topologyDefinition.getConfig();
      Config config = new Config();
      for (Map.Entry<String, Object> entry: configMap.entrySet()) {
  
        if (entry.getKey().equals(COMPONENT_RESOURCE_MAP)) {
  
          setComponentLevelResource(config, entry);
  
        } else if (entry.getKey().equals(COMPONENT_JVM_OPTIONS)) {
  
          List<Object> objects = (List<Object>) entry.getValue();
          for (Object obj : objects) {
            String objString = obj.toString();
            objString = objString.replace(LEFT_BRACE, WHITESPACE);
            objString = objString.replace(RIGHT_BRACE, WHITESPACE);
  
            int idIndex = objString.indexOf(ID);
            int optionsIndex = objString.indexOf(OPTIONS);
  
            String id = getIdValue(objString, idIndex);
  
            String jvmOptions;
            if (optionsIndex != -1) {
  
              int equalsIndex = objString.indexOf(EQUALS, optionsIndex);
              jvmOptions = objString.substring(equalsIndex + 1, objString.length());
  
              jvmOptions = jvmOptions.replace(LEFT_BRACKET, "")
                  .replace(RIGHT_BRACKET, "");
  
            } else {
              throw new IllegalArgumentException(
                  "You must specify the JVM options for your component");
            }
  
            config.setComponentJvmOptions(id, jvmOptions);
          }
  
        } else {
          config.put(entry.getKey(), entry.getValue());
        }
  
      }
      return config;
    }