if ( debug )
if ( LOG.isDebugEnabled() )
	public Datum getData()	{		StringWriter str = new StringWriter();		PrintWriter writer = new PrintWriter(str);		writer.print("data;");writer.print('\n');		writer.print("set rcc =");		HashSet rccs = new HashSet();		for ( Iterator i = proxyCallIDs.iterator(); i.hasNext(); )		{			CallID callID = (CallID)i.next();			if ( rccs.add(callID.getRCC()) )			{				writer.print(" ");writer.print(callID.getRCC().getKey());			}			if ( callID.getParentRCC() != null &&				 rccs.add(callID.getParentRCC()) )			{				writer.print(" ");writer.print(callID.getParentRCC().getKey());			}		}		writer.print(";");writer.print('\n');		if ( debug )		{			writer.print("# rcc = ");			HashSet rccs2 = new HashSet();			for ( Iterator i = proxyCallIDs.iterator(); i.hasNext(); )			{				CallID callID = (CallID)i.next();				if ( rccs2.add(callID.getRCC()) )				{					writer.print(" ");writer.print(callID.getRCC().getLeafMethodName());				}				if ( callID.getParentRCC() != null &&					 rccs2.add(callID.getParentRCC()) )				{					writer.print(" ");writer.print(callID.getParentRCC().getLeafMethodName());				}			}			writer.print('\n');		}					writer.print("set I =");		for ( Iterator i = proxyCallIDs.iterator(); i.hasNext(); )		{			CallID callID = (CallID)i.next();			writer.print(" p");writer.print(callID.getKey());		}		writer.print(";");writer.print('\n');		if ( debug )		{			writer.print("# I =");			for ( Iterator i = proxyCallIDs.iterator(); i.hasNext(); )			{				CallID callID = (CallID)i.next();				writer.print(" ");writer.print(callID.getRCC().getLeafMethodName());			}			writer.print('\n');		}					writer.print("param time := ");writer.print('\n');		for ( Iterator i = rccs.iterator(); i.hasNext(); )		{			RCC rcc = (RCC)i.next();			long time = rcc.getTime();			for ( Iterator j = callIDs.iterator(); j.hasNext(); )			{				CallID child = (CallID)j.next();				if ( child != null && !child.isProxy() && child.getParentRCCKey() == rcc.getKey() )					time -= child.getRCC().getTime();			}			if ( time < 0 )			{				System.out.println("Child time adds up to " + -time + " more than parent time for RCC " + rcc);				time = 0;			}			writer.print("\t");writer.print(rcc.getKey());writer.print("\t");writer.print(time);writer.print('\n');		}		writer.print(";");writer.print('\n');		writer.print("param nCalls := ");writer.print('\n');		for ( Iterator i = rccs.iterator(); i.hasNext(); )		{			RCC rcc = (RCC)i.next();			writer.print("\t");writer.print(rcc.getKey());writer.print("\t");writer.print(rcc.getCallCount());writer.print('\n');		}		writer.print(";");writer.print('\n');				writer.print("param parent := ");writer.print('\n');		for ( Iterator i = proxyCallIDs.iterator(); i.hasNext(); )		{			CallID callID = (CallID)i.next();			writer.print("\tp");writer.print(callID.getKey());writer.print("\t");writer.print(callID.getParentRCCKey());writer.print('\n');		}		writer.print(";");writer.print('\n');		writer.print("param rccOf := ");writer.print('\n');		for ( Iterator i = proxyCallIDs.iterator(); i.hasNext(); )		{			CallID callID = (CallID)i.next();			writer.print("\tp");writer.print(callID.getKey());writer.print("\t");writer.print(callID.getRCC().getKey());writer.print('\n');		}		writer.print(";");writer.print('\n');		writer.flush();		return new StringDatum(str.toString());	}