I don't see any problem with what you're code, though I wonder what the actual value of your ArrayList is or if you even mean to use Cardinality.list there. Are you saying you want to store a list of List in that property?
gremlin> g.addV('person').property('name','x').property(list,'l',[1,2,3] as ArrayList)
==>v[0]
gremlin> g.V().valueMap('l')
==>[l:[[1,2,3]]]
gremlin> g.V().has('person','name','x').property(list,'l',[3,2,1] as ArrayList)
==>v[0]
gremlin> g.V().valueMap('l')
==>[l:[[1,2,3],[3,2,1]]]
Note that you can get that error if ArrayList is an actual Array with an even number of arguments (you'll get in correct behavior with an Array anyway because anything with an Array size greater than 1 will be interpreted as meta properties):
gremlin> x = ['x','y'] as String[]
==>x
==>y
gremlin> g.addV('person').property('name','x').property(list,'l',x)