public List<Tuple> takeSync(
      Pattern pattern, String restriction, String key, long timeout, Provider provider)
      throws TupleSpaceException, TupleSpaceSecurityException {

    if (provider == Provider.INFRA) return infraDomain.takeSync(pattern, restriction, key, timeout);

    // Default Provider. It's not permitted take tuple from ad hoc providers.
    return localDomain.takeSync(pattern, restriction, key, timeout);
  }