public static <T extends BaseWindow> ArrayList<T> getWindows(Class<T> type) {
		ArrayList<T> windows = new ArrayList<>();
		Frame[] frames = Frame.getFrames();
		for (Frame element : frames) {
			if (type.isInstance(element)) {
				T window = type.cast(element);
				if (window.mWasAlive && !window.isClosed()) {
					windows.add(window);
				}
			}
		}
		return windows;
	}