private List initCompetitors(Item candidate)	{
		List competitors = (List) competitiveGroups.get(candidate);
		if (competitors != null)	// already inited
			if (competitors.get(0) instanceof Item)	// valid competitor list
				return competitors;
			else	// was dummy object
				return null;
			
		for (Enumeration e = new ItemEnumerator(); e.hasMoreElements(); )	{	// search a competitor among all items
			Item item = (Item) e.nextElement();
			if (item != candidate && item.consumer.overlaps(candidate.consumer))	{
				//System.err.println("Found competitive consumers: candidate = "+candidate.consumer+", competitor = "+item.consumer);
				competitiveGroups.put(candidate, item);
			}
		}
		
		competitors = (List) competitiveGroups.get(candidate);
		if (competitors == null)	// no competitors were found, mark candidate with dummy object
			competitiveGroups.put(candidate, new Byte((byte)0));
		
		return competitors;
	}