class MascotResourcePoolImpl extends ResourcePoolImpl implements MascotResourcePool {

  @Override
  public RotBatch createRot(int otherId, Network network) {
    if (getMyId() == otherId) {
      throw new IllegalArgumentException("Cannot initialize with self");
    }
    CoinTossing ct = new CoinTossing(getMyId(), otherId, getRandomGenerator());
    ct.initialize(network);
    OtExtensionResourcePool otResources = new OtExtensionResourcePoolImpl(getMyId(), otherId,
        getPrgSeedLength(), getLambdaSecurityParam(), getInstanceId(),
        getRandomGenerator(), ct, seedOts.get(otherId));
    return new BristolRotBatch(new RotFactory(otResources, network),
        getPrgSeedLength(), getLambdaSecurityParam());
  }

  public  MascotResourcePoolImpl(int myId, int noOfParties, int instanceId, Drbg drbg,
      Map<Integer, RotList> seedOts, MascotSecurityParameters mascotSecurityParameters,
      FieldDefinition fieldDefinition);

}