public void createTuple(ArrayList<XmlAttr> tupleData, ArrayList<XmlAttr> base, int iteration, int size)
	{
		// Test if tuple size is reached.
		if (base.size() == size)
		{
			// Create unique tag
			String tag = "";
			for (int i = 0; i < size; ++i)
				tag += base.get(i).id+";";
			Tuple tuple = new Tuple();
			tuple.tag = tag;
			tuple.attrList.addAll(base);
			if (tupleList.size() == 0)
				tupleList.add(tuple);
			else
			{
				// Add tuple or increment count
				boolean added = false;
				for (int i = 0; i < tupleList.size(); ++i)
				{
					if (tupleList.get(i).tag.equals(tag))
					{
						added = true;
						++tupleList.get(i).count;
						tupleList.get(i).addFiles(currentFile);
					}
				}
				if (!added)
				{
					tuple.addFiles(currentFile);
					tupleList.add(tuple);
				}
					
			}
		}
		else
		{
			// If size not reach, go deeper
			for (int i = iteration; i < tupleData.size(); ++i)
			{
				base.add(tupleData.get(i));
				createTuple(tupleData, base, i + 1, size);
				base.remove(base.size() - 1);
			}
		}
	}