code: public static Set<String> getSubsectionKeys(Properties properties) {
  		Set<String> retval = new HashSet<String>();
  		for (Object keyObj : properties.keySet()) {
  			String key = (String) keyObj;
  			if (key.indexOf(KEY_SEPARATOR) != -1) {
  				retval.add(key.substring(0, key.indexOf(KEY_SEPARATOR)));
  			}
  		}
  		return retval;
  	}
docs: Property trees consists of properties at different levels, names and subnames are separated by dots (.).
  If property keys contain dots they are assumed to be composed keys, consisting of subsection names and
  a property name.
  <p/>
  If a property key is composed, such as "settings.username", this method assumes there's a subsection
  "settings" containing a property "user name"
  
  @return a list of keys of subsections (of type String) defined by the first part of a composed property key