public abstract class DynamicSubcontentCustomLoader<T extends DynamicContentElement> implements DynamicContentLoader<T> {
public abstract T resolveElement(DynamicContent<T> dynamicContent, DynamicContentElement sourceElement);
public void loadContent(DynamicContent<T> dynamicContent, boolean forceReload) throws DynamicContentLoadException, InterruptedException {
List<T> list = null;
SubcontentDependencyAdapter dependencyAdapter = (SubcontentDependencyAdapter) dynamicContent.getDependencyAdapter();
for (Object object : dependencyAdapter.getSourceContent().getElements()) {
dynamicContent.checkDisposed();
DynamicContentElement sourceElement = (DynamicContentElement) object;
T element = resolveElement(dynamicContent, sourceElement);
if (element != null && dynamicContent.accepts(element)) {
dynamicContent.checkDisposed();