class ConfigurationPropertyValidator {

  public static List<String> parseListProperty(String property) {
    List<String> items = new ArrayList<>();
    int startIndex = 0;
    for (int endIndex = 0; endIndex < property.length(); endIndex++) {
      if (property.charAt(endIndex) == ',') {
        // Split on non-escaped comma
        items.add(property.substring(startIndex, endIndex));
        startIndex = endIndex + 1;
      } else if (property.charAt(endIndex) == '\\') {
        // Found a backslash, ignore next character
        endIndex++;
      }
    }
    items.add(property.substring(startIndex));
    return items;
  }

  private  ConfigurationPropertyValidator();

}