private void calcRow(int step, String expression) {
		int variableCount = Expression.getVariableCount();

		String binaryStep = Integer.toBinaryString(step);
		while (binaryStep.length() < variableCount) {
			binaryStep = "0" + binaryStep;
		}

		int binaryCounter = binaryStep.length() - 1;
		for (int i = expression.length() - 1; i >= 0; i--) {
			if (Character.isLetter(expression.charAt(i))) {
				Character c = expression.charAt(i);
				for (int j = i; j >= 0; j--) {
					if (c.equals(expression.charAt(j))) {
						compactTable.get(step + 1).set(j, Character.toString(binaryStep.charAt(binaryCounter)));
						expression = expression.substring(0, j) + binaryStep.charAt(binaryCounter) + expression.substring(j + 1);
					}
				}
				binaryCounter--;
			}
			if (expression.charAt(i) == '0') {
				compactTable.get(step + 1).set(i, "0");
			}
			if (expression.charAt(i) == '1') {
				compactTable.get(step + 1).set(i, "1");
			}
		}

		int currentVar = binaryStep.length();

		calcStep(expression, 0, step + 1);
		//fullTable.add(stringResults);
	}