service.data.impl/src/main/java/com/hack23/cia/service/data/impl/util/LoadHelper.java
public static <T> T recursiveInitialize(final T obj) {
		if (obj != null) {
			final Set<Object> dejaVu = Collections.newSetFromMap(new IdentityHashMap<Object, Boolean>());
			recursiveInitialize(obj, dejaVu);
		}
		return obj;
	}
public static <T> T recursiveInitialize(final T obj) {
		if (obj != null) {
			final Set<Object> dejaVu = Collections.newSetFromMap(new IdentityHashMap<Object, Boolean>());
			recursiveInitialize(obj, dejaVu);
		}
		return obj;
	}
Recursive initliaze.

@param <T>
the generic type
@param obj
the obj
@return the t