docs: protected BigRational getFactor(int index) {
  		while (factors.size() <= index) {
  			BigRational factor = getCurrentFactor();
  			factors.add(factor);
  			calculateNextFactor();
  		}
  		return factors.get(index);
  	}