Seems like it's caused by your jvm's security and accessing a private class.
This should work (less verbose too): public static FullTextSession buildFullTextSession( final HibernateSessionManager sessionManager, PropertyShadowBuilder propertyShadowBuilder) { Object lazyBuilder = new Object() { public FullTextSession getFullTextSession() { return Search.getFullTextSession(sessionManager.getSession()); } }; return propertyShadowBuilder.build(lazyBuilder, "fullTextSession", FullTextSession.class); }