Log.debug(LOG, "Solving LP for proxyCallIDs ", proxyCallIDs);
	public CallGraph solve(List callIDs)	{		this.callIDs = callIDs;		this.proxyCallIDs = CallID.getProxyCallIDs(callIDs);		this.proxyCallsByRCC = new HashMap();		this.parentRCCSet = new HashSet();		for ( Iterator i = proxyCallIDs.iterator(); i.hasNext(); )		{			CallID callID = (CallID)i.next();			parentRCCSet.add(callID.getParentRCC());			List list = (List)proxyCallsByRCC.get(callID.getRCC());			if ( list == null )			{				list = new ArrayList(3);				proxyCallsByRCC.put(callID.getRCC(), list);			}			list.add(callID);		}		fractions = null;		double maxTimeSum = 1.0;		while ( ( fractions = solveCallFractions(maxTimeSum) ) == null )		{			maxTimeSum += 0.01;		}		CallGraph cg = new CallGraph(callIDs, fractions);		return cg;	}