public static <T> Stream<T> traverseOver(ForeignKey fk, Class<T> clazz) {
        if (ForeignKeyColumn.class.isAssignableFrom(clazz)) {
            return fk.foreignKeyColumns().map(clazz::cast);
        } else {
            return fk.foreignKeyColumns().flatMap(fcc -> traverseOver(fcc, clazz));
        }
    }
Common utility methods specific to the database document model.

@author  Per Minborg
@author  Emil Forslund
@since   2.3.0
runtime-parent/runtime-config/src/main/java/com/speedment/runtime/config/util/DocumentDbUtil.java