class EmbeddedAgent {

  public void putAll(List<Event> events) throws EventDeliveryException {
    if (state != State.STARTED) {
      throw new IllegalStateException("Cannot put events unless started");
    }
    try {
      embeddedSource.putAll(events);
    } catch (ChannelException ex) {
      throw new EventDeliveryException("Embedded agent " + name +
          ": Unable to process event: " + ex.getMessage(), ex);
    }
  }

  @InterfaceAudience.Private @InterfaceStability.Unstable @VisibleForTesting  EmbeddedAgent(MaterializedConfigurationProvider configurationProvider,
      String name);
  public  EmbeddedAgent(String name);

}