public CompositeMove(Move[] moves) { this.moves = moves; for (int i = 0; i < moves.length; i++)
public CompositeMove(ArrayList movesArrayList) { moves = new Move[movesArrayList.size()];  for (int i = 0; i < movesArrayList.size(); i++) { moves[i] = (Move)movesArrayList.get(i);
    public CompositeMove(Move[] moves) {        this.moves = moves;	for (int i = 0; i < moves.length; i++) 	    assert moves[i].getPrincipal() != null;    }