@Test
 public void locateEndPointNoHttp() {
   FrameBuilder b = new SimpleFrameBuilder();
   b.enter(new Operation());
   b.enter(grailsOp);
   Frame grailsFrame = b.exit();
   assertNotNull("No grails frame", grailsFrame);
   Frame rootFrame = b.exit();
   Trace trace = Trace.newInstance(app, TraceId.valueOf("0"), rootFrame);
   assertEndpointAnalysis(trace, grailsFrame, null);
 }
 @Test
 public void locateEndPointHttpComesAfterGrails() {
   FrameBuilder b = new SimpleFrameBuilder();
   Operation httpOp = new Operation().type(OperationType.HTTP);
   b.enter(httpOp);
   b.enter(grailsOp);
   Frame grailsFrame = b.exit();
   assertNotNull("No grails frame", grailsFrame);
   Frame httpFrame = b.exit();
   Trace trace = Trace.newInstance(app, TraceId.valueOf("0"), httpFrame);
   assertEndpointAnalysis(trace, grailsFrame, httpFrame);
 }
 @Test
 public void locateEndPointNoGrails() {
   FrameBuilder b = new SimpleFrameBuilder();
   Operation httpOp = new Operation().type(OperationType.HTTP);
   b.enter(httpOp);
   b.enter(new Operation());
   Frame simpleFrame = b.exit();
   assertNotNull("No simple frame", simpleFrame);
   Frame httpFrame = b.exit();
   Trace trace = Trace.newInstance(app, TraceId.valueOf("0"), httpFrame);
   EndPointAnalysis ep = endPointAnalyzer.locateEndPoint(trace);
   assertNull("Unexpected result: " + ep, ep);
 }