When we verify a macaroon for its caveats, usually it check each caveats independently.
In case of LSAT, this does not work since the validity of a caveat depends on a previous caveat
(more specifically, if there were two caveats with a same Condition, we usually check that whether the restriction
does not get more loose than before.)
So we can not just rely on Macaroon's . The additional check is done with this ISatisfier
Interface