class SkipRedundantStrategy : public Strategy {
public:
  virtual bool startingCall(const ExternalTerm& b,
			    const TermTree& tree,
			    bool startingPartition) {
    unsigned int position = tree.getPosition();

    // ...
    if (_dimension - position > 10) {
      ExternalTerm lcm(_dimension);
      tree.lcm(lcm);
      for (int i = position; i < (int)_dimension; ++i) {
	ASSERT(lcm[i] > 0);
	lcm[i] -= 1;
      }
      _skip[position].removeNonDivisors(lcm);
    }
    // ...
  }
};