@Override
 public Void visitScriptOperator(ScriptOperator op, Pair<LogicalVariable, LogicalVariable> pair)
     throws AlgebricksException {
   substInArray(op.getInputVariables(), pair.first, pair.second);
   substInArray(op.getOutputVariables(), pair.first, pair.second);
   substVarTypes(op, pair);
   return null;
 }
 @Override
 public void computeDeliveredProperties(ILogicalOperator op, IOptimizationContext context) {
   ScriptOperator s = (ScriptOperator) op;
   computeDeliveredPropertiesForUsedVariables(s, s.getInputVariables());
 }