return fraction * callID.getRCC().getTime() > GRAPH_THRESHOLD;
return true;
	private void computeInclusiveTimes(CallGraph cg, final double[] fractions)	{		final IntStack traversalStack = new IntStack();		int numRCCs = callIDs.size() - proxyCallIDs.size();		final double[] inclusiveTimeAdjustments = new double[callIDs.size() - proxyCallIDs.size()];		final RCC[] rccs = new RCC[numRCCs];		class ComputeInclusiveTimeVisitor			implements CallGraph.Visitor		{			public boolean visit(CallID callID, IntStack callStack)			{				// Store the RCC of the callID				rccs[callID.getRCC().getKey()] = callID.getRCC();								// Traverse through the parents of the current CallID				// For each parent, add the fraction-adjusted time of this CallID to				//   its inclusive time				traversalStack.clear();				traversalStack.addAll(callStack);				double fraction = fractions[callID.getKey()];				// Start with the parent of the current stack				traversalStack.pop();				while ( !traversalStack.isEmpty() )				{					int parentID = traversalStack.pop();					CallID parentCall = (CallID)callIDs.get(parentID);					inclusiveTimeAdjustments[parentCall.getRCC().getKey()] += callID.getRCC().getTime() * fraction;					fraction *= fractions[parentID];				}				return fraction * callID.getRCC().getTime() > GRAPH_THRESHOLD;			}		}		cg.depthFirstTraverse(new ComputeInclusiveTimeVisitor());		// Apply the time adjustments to the RCCs		for ( int i = 0; i < rccs.length; ++i )		{			RCC rcc = rccs[i];			if ( rcc != null )			{				rcc.adjustTime((long)inclusiveTimeAdjustments[i]);			}		}	}