code: @Override
  	public Set<String> stringPropertyNames() {
  		lock.readLock().lock();
  		try {
  			final Set<String> result = new HashSet<String>();
  			for (final Object key : getKeyMap(true).keySet()) {
  				result.add(getUnprefixedKey((String) key));
  			}
  			return result;
  		} finally {
  			lock.readLock().unlock();
  		}
  	}
docs: /*
  (non-Javadoc)
  
  @see java.util.Properties#stringPropertyNames()