code: private static List<InjectionData> processIdList(final String list) {
          /* find the individual topic ids */
          final String[] ids = list.split(",");
  
          List<InjectionData> retValue = new ArrayList<InjectionData>(ids.length);
  
          /* clean the topic ids */
          for (final String id : ids) {
              final String topicId = id.replaceAll(OPTIONAL_MARKER, "").trim();
              final boolean optional = id.contains(OPTIONAL_MARKER);
  
              try {
                  final InjectionData topicData = new InjectionData(topicId, optional);
                  retValue.add(topicData);
              } catch (final NumberFormatException ex) {
                  /*
                   * these lists are discovered by a regular expression so we shouldn't have any trouble here with Integer.parse
                   */
                  LOG.debug("Unable to convert Injection Point ID into a Number", ex);
                  retValue.add(new InjectionData("-1", false));
              }
          }
  
          return retValue;
      }
docs: Takes a comma separated list of ints, and returns an array of Integers. This is used when processing custom injection
  points.