code: SortedSet<Action> findActions( String actionName, Properties properties ) {
  
  		Pattern pattern = Pattern.compile( actionName + "\\.(\\d)+\\.(.*)", Pattern.CASE_INSENSITIVE );
  		SortedSet<Action> result = new TreeSet<Action>( new ActionComparator());
  		for( Map.Entry<Object,Object> entry : properties.entrySet()) {
  			String key = String.valueOf( entry.getKey()).toLowerCase();
  			Matcher m = pattern.matcher( key );
  			if( ! m.matches())
  				continue;
  
  			int position = Integer.parseInt( m.group( 1 ));
  			ActionType actionType = ActionType.which( m.group( 2 ));
  			String parameter = String.valueOf( entry.getValue());
  			result.add( new Action( position, actionType, parameter ));
  		}
  
  		return result;
  	}
docs: Finds the actions to execute for a given step.
  @return a non-null list of actions (sorted in the right execution order)