Will try this method also.  
I just added only for the select with array index in this.  But I prefer going with a node that extends ParseNode.  You could see that I already added that comment on ArrayColumnNode.java. 
I think any node that has an array index, be it in select, where, distinct, group by all such nodes should extend the ArrayColumnNode.  Let me make changes and get back to you on this. Thanks for the review James.