docs: @SuppressWarnings("unchecked")
      public <T extends GVRComponent> ArrayList<T> getAllComponents(long type) {
          ArrayList<T> list = new ArrayList<T>();
          GVRComponent component = getComponent(type);
          if (component != null)
              list.add((T) component);
          for (GVRSceneObject child : mChildren) {
              ArrayList<T> temp = child.getAllComponents(type);
              list.addAll(temp);
          }
          return list;
      }