code: public List<String> getSettingNames(String startingWith) {
          List<String> names = new ArrayList<>();
          Properties props = getProperties();
          if (StringUtils.isNullOrEmpty(startingWith)) {
              names.addAll(props.stringPropertyNames());
          } else {
              startingWith = startingWith.toLowerCase();
              for (Object o : props.keySet()) {
                  String name = o.toString();
                  if (name.toLowerCase().startsWith(startingWith)) {
                      names.add(name);
                  }
              }
          }
  
          return names;
      }
docs: Returns the list of settings whose name starts with the specified prefix. If
  the prefix is null or empty, all settings names are returned.
  
  @param startingWith
  @return list of setting names