@SuppressWarnings("unchecked") @Override public <T extends Observer> List<T> getObservers(LiteAPI api, Class<T> observerType) { List<T> matchingObservers = new ArrayList<T>(); for (Observer observer : this.getObservers(api)) { if (observerType.isAssignableFrom(observer.getClass()) && !matchingObservers.contains(observer)) { matchingObservers.add((T) observer); } } return matchingObservers; }