private AudioChannel getAudioChannel(int objectId) {
		if (channels.containsKey(objectId)) {
			return channels.get(objectId);
		}

		Iterator<Entry<Integer, AudioChannel>> it = channels.entrySet()
				.iterator();

		while (it.hasNext()) {
			Entry<Integer, AudioChannel> entry = it.next();
			if (entry.getValue().isFree()) {
				AudioChannel result = entry.getValue();
				it.remove();
				channels.put(objectId, result);
				return result;
			}
		}

		AudioChannel result = new AudioChannel();
		channels.put(objectId, result);
		return result;
	}