void ReactionAtomNeighbourhoodCounters::calculate(Reaction &reac) {
   int i;

   _counters.resize(reac.count());

   for (i = reac.begin(); i < reac.end(); i = reac.next(i))
      _counters[i].calculate(reac.getMolecule(i));
}
bool ReactionExactMatcher::_prepare (BaseReaction &query, Reaction &target, void *context)
{
   if (query.count() != target.count())
      return false;

   ReactionExactMatcher &self = *(ReactionExactMatcher *)context;

   if (self.flags & MoleculeExactMatcher::CONDITION_STEREO)
      self._match_stereo = true;
   else
      self._match_stereo = false;

   return true;
}