as of latest SNAPSHOT I don't think you even have that syntax that you are using available to you. assuming you had v1/v2 you would probably do:
gremlin> g.withSideEffect('a',[v2]).V(v1).addOutE('friend1','a')
==>e[2][0-friend1->1]
gremlin> g.withSideEffect('a',[v2]).V(v1).addOutE('friend2','a')
==>e[3][0-friend2->1]
gremlin> g.withSideEffect('a',[v2]).V(v1).addOutE('friend3','a')
==>e[4][0-friend3->1]
i guess you could one-liner it:
gremlin> ['friend1','friend2','friend3'].collect{g.withSideEffect('a',[v2]).V(v1).addOutE(it,'a').next()}
==>e[5][0-friend1->1]
==>e[6][0-friend2->1]
==>e[7][0-friend3->1]
of course if you have the raw vertices in hand, and you only want to add edges between them, why not just do:
gremlin> v1 = g.addV().next()
==>v[0]
gremlin> v2 = g.addV().next()
==>v[1]
gremlin> ['friend1','friend2','friend3'].collect{v1.addEdge(it,v2)}
==>e[2][0-friend1->1]
==>e[3][0-friend2->1]
==>e[4][0-friend3->1]
i'm sure daniel with improve any of this answer if he can....