Probably easiest to derive ArrayElementParseNode from ScalarFunction (i.e. essentially creating a new built-in function). You can see my blog [here](http://phoenix-hbase.blogspot.com/2013/04/how-to-add-your-own-built-in-function.html) on how to add a built in function. Name the function "ARRAY_ELEM". Then your my_array[5] syntax becomes just a better, more readable form of array_elem(my_array,5).