code: @Override
  	public CallSequence get(int index)
  	{
  		if (indics == null)
  		{
  			size();
  		}
  		Pair<Integer, Integer> v = indics.get(index);
  
  		int r = v.getFirst();
  
  		if (r == 0)
  		{
  			CallSequence seq = getVars();
  			CallStatement skip = new CallStatement()
  			{
  				public Object execute()
  				{
  					return Utils.VOID_VALUE;
  				}
  
  				@Override
  				public String toString()
  				{
  					return "skip";
  				}
  			};
  
  			seq.add(skip);
  			return seq;
  
  		} else
  		{
  
  			TestSequence rtests = repeat.getTests();
  			int count = rtests.size();
  			int[] c = new int[r];
  
  			for (int i = 0; i < r; i++)
  			{
  				c[i] = count;
  			}
  
  			Permutor p = new Permutor(c);
  			int[] select = null;
  			for (int i = 0; i < v.getSecond(); i++)
  			{
  				select = p.next();
  			}
  
  			CallSequence seq = getVars();
  
  			for (int i = 0; i < r; i++)
  			{
  				seq.addAll(rtests.get(select[i]));
  			}
  			return seq;
  		}
  
  	}
docs: /*
  (non-Javadoc)
  @see org.overture.interpreter.traces.IIterableTraceNode#get(int)