public static <T extends IComponent> void getAllChildrenTComponents(Entity entity, Class<T> clazz, List<T> componentList) {
		Children childrenComponent = entity.getComponent(Children.class);

		// Our base test, stop recursion if we no longer have children
		if (childrenComponent == null) {
			return;
		}

		for (Entity child : childrenComponent.children) {
			// Add to the componentList any of the children's components that we
			// are searching for, and then call this function on the child (in
			// case that child also has children)
			T component = child.getComponent(clazz);
			if (component != null) {
				componentList.add(component);
			}

			getAllChildrenTComponents(child, clazz, componentList);
		}
	}