ConnectorNov2016 implements Connector { @Override public String describe() throws Exception { String id = UUID.randomUUID().toString(); Encoder.Request request = encoder.describe(); Message message = new Message(id, request.toString()); String response = sender.send(message); log.trace("{} \u2192 {}", message, response); return decoder.describe(response); } ConnectorNov2016(Transport.Version v, Encoder e, Decoder d, Sender s); @Override String describe(); @Override Decoder.Response get(String caller, Transport.Target target,
    Pager pager, Map<String, ?> parameters); @Override Decoder.Response put(String caller, Transport.Target target,
    Map<String, ?> parameters, Map<String, ?> fields); @Override Decoder.Response fetch(); @Override Pager pager(); @Override Pager pager(int pageSize, int offset, Pager.Filter f, Pager.Sorter s); @Override Sender sender();  }
@Test public void describe() throws Exception { String json = connector.describe(); JSONObject description = new JSONObject(json); assertThat(description.opt("error"), nullValue()); System.out.println(description.toString(2)); }