public <T extends HexComponent> List<T> getAllComponentsOnObject(UUID object)
  {
    synchronized (componentStores) {
      LinkedList<T> components = new LinkedList<T>();

      for (HashMap<UUID, ? extends HexComponent> store : componentStores
          .values()) {
        if (store == null) continue;

        T componentFromObj = (T) store.get(object);

        if (componentFromObj != null) {
          components.addLast(componentFromObj);
        }
      }
      return components;
    }
  }