EsperStatement implements EsperStatementOperations { public <T> List<T> concurrentUnsafeQuery(ParameterizedEsperRowMapper<T> rm) { LOG.info("Concurrent unsafe query being executed"); if (epStatement.isStopped() || epStatement.isDestroyed()) { LOG .error("Concurrent unsafe query was attempted when the statement was stopped or destroyed"); throw new EsperStatementInvalidStateException( "Attempted to execute a concurrent unsafe query when esper statement resource had state of " + epStatement.getState()); } Iterator<EventBean> safeIter = this.epStatement.iterator(); List<T> objectList = new ArrayList<T>(); for (; safeIter.hasNext();) { EventBean event = safeIter.next(); objectList.add(rm.mapRow(event)); } LOG.info("Concurrent unsafe query was completed"); return objectList; } EsperStatement(String epl);  EsperStatement(String id, String epl); String getEPL(); EPStatementState getState(); void start(); void stop(); void destroy(); void doWithNativeEPStatement(NativeEPStatementCallback callback); void setListeners(Set<UpdateListener> listeners); Set<UpdateListener> getListeners(); void setSubscriber(Object subscriber); void addListener(UpdateListener listener); List<T> concurrentSafeQuery(ParameterizedEsperRowMapper<T> rm); T concurrentSafeQueryForObject(ParameterizedEsperRowMapper<T> rm); List<T> concurrentUnsafeQuery(ParameterizedEsperRowMapper<T> rm); T concurrentUnsafeQueryForObject(
			ParameterizedEsperRowMapper<T> rm); String getId(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void testConcurrencyUnsafeQuery() throws Exception { SampleEvent event = new SampleEvent(); template.sendEvent(event); List<SampleEvent> events = statement.concurrentUnsafeQuery(this.rowMapper); assertEquals(events.size(), 1); assertEquals(events.get(0), event); }