@Test
  public void testRemoteLoaderNetSearch() {
    assumeThat(supportsNetLoad()).isTrue();

    assertThat(getRegionAttributes().getScope().isDistributed()).isTrue();

    final String name = getUniqueName();
    final Object key = "KEY";
    final Object value = "VALUE";

    vm0.invoke("Create Region", () -> {
      Region<Object, Object> region = createRegion(name);
      region.getAttributesMutator().setCacheLoader(new TestCacheLoader<Object, Object>() {
        @Override
        public Object load2(LoaderHelper<Object, Object> helper) throws CacheLoaderException {

          try {
            assertThat(helper.netSearch(true)).isNull();

          } catch (TimeoutException ex) {
            fail("Why did I time out?", ex);
          }
          return value;
        }
      });
    });

    vm1.invoke("Get value", () -> {
      Region<Object, Object> region = createRegion(name);
      assertThat(region.get(key)).isEqualTo(value);
    });
  }
Tests that invoking <code>netSearch</code> in a remote loader returns <code>null</code> instead
of causing infinite recursion.
geode-dunit/src/main/java/org/apache/geode/cache30/MultiVMRegionTestCase.java