@Test
public void testGetChildCollectionThrowsNestedNullException() throws Exception {

    // We need to initialize PropertyUtils to use our plugins
    new PojoPlugin().init(null, new ModuleConfigImpl());
    TestCollectionHolderHolder tchh = new TestCollectionHolderHolder();
    tchh.setTch(new TestCollectionHolder());
    
    // this simulates a situation in which the property (tch) is a proxied object 
    // that can't be fetched, so getting it works (returns the proxy) but trying 
    // to access the collection underneath it throws a NestedNullException
    Object result = ObjectUtils.getPropertyValue(tchh, "tch.collection");
    // before, the empty string was being returned, which doesn't make sense for a collection
    assertFalse("".equals(result));
    // now we return null
    assertTrue(null == result);
}