int multiply(int a, int b) {
		boolean neg = (b < 0);
		if (b < 0) {
			b = -b;
		}

		int sum = 0;
		while (b > 0) {
			int lastBit = bitMap.get(b & ~(b - 1));
			sum += a << lastBit;
			b &= b - 1;
		}

		if (neg) {
			sum = -sum;
		}

		return sum;
	}