public Call Clone()
 {
     Call call = new Call(Method);
     call.CallSite = CallSite;
     call.CallSiteLine = CallSiteLine;
     return call;
 }
 public static Call CreateMasked()
 {
     Call result = new Call(null);
     result.IsMasked = true;
     return result;
 }
 public void AddSubCall(Call call, int callSiteLine)
 {
     m_SubCalls.Add(call);
     call.NotifyCallSiteChanged(this, callSiteLine);
 }
 private void NotifyCallSiteChanged(Call callSite, int callSiteLine)
 {
     CallSite = callSite;
     CallSiteLine = callSiteLine;
 }
 public void MarkAsCompleted()
 {
     m_Current.PruneMaskedLeaves();
     m_Current.PruneMaskedJspExecutions();
     m_Current.PruneEndTraceException();
     Root = m_Current;
     FilteredRoot = m_Current; // m_Current.FilterJavaInternalsRoot();
 }
 public void AddCall(int id, int callerLine)
 {
     Call c = id > 0 ? new Call(m_Methods[id]) : Call.CreateMasked();
     m_Current.AddSubCall(c, callerLine);
     m_Current = c;
 }
 public TopLevelTrace(int requestId)
 {
     RequestId = requestId;
     m_Current = new Call(null);
     JavaFilesHit = new HashSet<JavaFile>();
 }
 public void PopCall(int line)
 {
     m_Current = m_Current.CallSite;
 }