code: @SuppressWarnings("unchecked")
  	public T getObject() throws Exception {
  		if (proxy == null) {
  			try {
  				CacheManager cm = null;
  				try {
  					cm = ctx.getBean("daoCache", CacheManager.class);
  				} catch (Exception e) {
  				}
  				if (cm == null) {
  					try {
  						cm = ctx.getBean(CacheManager.class);
  					} catch (Exception e) {
  					}
  				}
  
  				proxy = (T) Proxy.newProxyInstance(daoInterface.getClassLoader(), new Class[] { daoInterface },
  						new DaoInvocationHandler<K>(getEntityManagerFactory(), getSessionFactory(), cm,
  								getConversionService(), daoInterface, domainClz, funcs));
  			} catch (Throwable t) {
  				logger.error("Error while creating proxy for dao interface '" + this.daoInterface + "'.", t);
  				throw new IllegalArgumentException(t);
  			}
  		}
  
  		return proxy;
  	}
docs: {@inheritDoc}