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

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

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