protected void insertHandled(Handled h, int index)
	{
		// Handled must be of the supported class
		if (!getSupportedClass().isInstance(h))
			return;
		
		if (h != null && !this.handleds.contains(h))
		{
			// Removes all of the handleds after the index to another list
			List<Handled> sublist = this.handleds.subList(index, 
					this.handleds.size() - 1);
			List<Handled> holding = new ArrayList<Handled>();
			holding.addAll(sublist);
			sublist.clear();
			// Adds the current handled
			this.handleds.add(h);
			// Adds the moved handleds back to the list
			this.handleds.addAll(holding);
			
			// Also starts the handler if it wasn't already
			if (!this.started)
				this.started = true;
		}
	}