SIRInitStatement sis = new SIRInitStatement(Arrays.asList(params), (SIRStream)SIROp);
SIRInitStatement sis = new SIRInitStatement(Arrays.asList(params), (SIRStream)ObjectDeepCloner.deepCopy((SIRStream)SIROp));
    public Object visitUnqualifiedAnonymousCreation        (JUnqualifiedAnonymousCreation self,         CClassType type,         JExpression[] params,         JClassDeclaration decl)     {        blockStart("UnqualifiedAnonymousCreation", self);	//Get the SIR Operator back from the Class Declaration	SIROperator SIROp = (SIROperator)decl.accept(this);	if (!(SIROp instanceof SIRStream))	    at.dms.util.Utils.fail(printLine(self) +				   "Trying to anonymously create non-Stream");     	for (int i = 0; i < params.length; i++)            params[i] = (JExpression)params[i].accept(this);	if (params.length == 0)	    trash = params = JExpression.EMPTY;	      /*				for (int i = 0; i < decl.fields.length; i++) {			trash = decl.fields[i].variable.accept(this); 			}	      */	//The only time that we can use an Anonymous class is inside an add statement 	//which needs to be translated into an SIRInitStatement	SIRInitStatement sis = new SIRInitStatement(Arrays.asList(params), (SIRStream)SIROp);	return sis;    }