private void initObjects(List<?> objects) {
        for (Object obj : objects) {
            if (obj instanceof ReferenceInitializer) {
                ((ReferenceInitializer) obj).initReferences(this);
            } else if (obj instanceof CompositeObject<?>) {
                initObjects(((CompositeObject<?>) obj).getUnderlyingObjects());
            }
        }
    }