// Create a sub-node to hold the second arrow. We must rotate it 180
// degrees (about the +y axis since arrows by default point up). We
// also must translate it down. Attach the second arrow to this node.
Node subNode2 = new Node();
Quaternion q = new Quaternion().fromAngleAxis((float)Math.PI, new Vector3f(0, 0, 1));
subNode2.setLocalRotation(q);
subNode2.setLocalTranslation(0, -length / 2, 0);
subNode2.attachChild(a2);
// Attach the first arrow and the subnode to the main node