ActionMatch[] actions)
{
this.pattern = ExprUtils.parse(pattern) ;
if ( vars.length != actions.length )
throw new SDBInternalError("Variable and action arrays are different lengths") ;
mapAction = new MapAction() ;
for ( int i = 0 ; i < vars.length ; i++ )
{
Var var = vars[i] ;
ActionMatch a = actions[i] ;
mapAction.put(var, a) ;