public override void HandleCodeParamType(Udbus.Parsing.ICodeParamType paramtype) { CodeArrayCreateExpression arrayExpr = paramtype.CreateArray(); Udbus.Parsing.CodeParamArray arraytype = new Udbus.Parsing.CodeParamArray(arrayExpr); base.HandleCodeParamType(arraytype); if (this.QuExpressionBuilder == false) { IWriteExpressionBuilder exprbuilder = this.CreateArrayExpressionBuilder(); // Use the array expression builder. SetExpressionBuilder(this, exprbuilder); } // Not quite sure about this. // Need to set owner's expression builder first, but then how do we know level of nesting ? if (owner.QuExpressionBuilder == false) { // Use this Array holder as owner's expression builder // (which will in turn delegate to it's expression builder). SetExpressionBuilder(owner, this); } owner.HandleCodeParamType(arraytype); }