@Test
  public void testPreloadedSerialPropagation() throws Exception {
    // Start locators
    Integer lnPort = vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId(1));
    Integer nyPort = vm1.invoke(() -> WANTestBase.createFirstRemoteLocator(2, lnPort));

    // Create receiver and preloaded region
    String regionName = getUniqueName() + "_preloaded";
    vm2.invoke(() -> WANTestBase.createCache(nyPort));
    vm2.invoke(() -> WANTestBase.createReplicatedRegion(regionName, null, Scope.DISTRIBUTED_ACK,
        DataPolicy.PRELOADED, isOffHeap()));
    vm2.invoke(WANTestBase::createReceiver);
    vm2.invoke(() -> WANTestBase.addListenerOnRegion(regionName));

    // Create sender and preloaded region
    vm4.invoke(() -> WANTestBase.createCache(lnPort));
    vm4.invoke(() -> WANTestBase.createSender("ln", 2, false, 100, 10, false, false, null, false));
    vm4.invoke(() -> WANTestBase.createReplicatedRegion(regionName, "ln", Scope.DISTRIBUTED_ACK,
        DataPolicy.PRELOADED, isOffHeap()));

    // Do puts
    int numEvents = 10;
    vm4.invoke(() -> WANTestBase.doPuts(regionName, numEvents));

    // Verify receiver listener events
    vm2.invoke(() -> WANTestBase.verifyListenerEvents(numEvents));

    // Do destroys
    vm4.invoke(() -> WANTestBase.doDestroys(regionName, numEvents));

    // Verify receiver listener events
    vm2.invoke(() -> WANTestBase.verifyListenerEvents(numEvents * 2));
  }
Added for defect #48582 NPE when WAN sender configured but not started. All to all topology
with 2 WAN sites: Site 1 (LN site): vm4, vm5, vm6, vm7 Site 2 (NY site): vm2, vm3
geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java