### Question:
DefaultHttp2Connection implements Http2Connection { @Override public Endpoint<Http2LocalFlowController> local() { return localEndpoint; } DefaultHttp2Connection(boolean server);  DefaultHttp2Connection(boolean server, int maxReservedStreams); @Override Future<Void> close(final Promise<Void> promise); @Override void addListener(Listener listener); @Override void removeListener(Listener listener); @Override boolean isServer(); @Override Http2Stream connectionStream(); @Override Http2Stream stream(int streamId); @Override boolean streamMayHaveExisted(int streamId); @Override int numActiveStreams(); @Override Http2Stream forEachActiveStream(Http2StreamVisitor visitor); @Override Endpoint<Http2LocalFlowController> local(); @Override Endpoint<Http2RemoteFlowController> remote(); @Override boolean goAwayReceived(); @Override void goAwayReceived(final int lastKnownStream, long errorCode, ByteBuf debugData); @Override boolean goAwaySent(); @Override boolean goAwaySent(final int lastKnownStream, long errorCode, ByteBuf debugData); @Override PropertyKey newKey();  }### Answer:
@Test public void removeAllStreamsWithJustOneLocalStream() throws InterruptedException, Http2Exception { client.local().createStream(3, false); testRemoveAllStreams(); }
@Test public void serverLocalIncrementAndGetStreamShouldSucceed() throws Http2Exception { incrementAndGetStreamShouldSucceed(server.local()); }
@Test public void clientLocalIncrementAndGetStreamShouldSucceed() throws Http2Exception { incrementAndGetStreamShouldSucceed(client.local()); }
@Test(expected = Http2NoMoreStreamIdsException.class) public void serverLocalIncrementAndGetStreamShouldRespectOverflow() throws Http2Exception { incrementAndGetStreamShouldRespectOverflow(server.local(), MAX_VALUE - 1); }
@Test(expected = Http2NoMoreStreamIdsException.class) public void clientLocalIncrementAndGetStreamShouldRespectOverflow() throws Http2Exception { incrementAndGetStreamShouldRespectOverflow(client.local(), MAX_VALUE); }
@Test(expected = Http2Exception.class) public void newStreamBehindExpectedShouldThrow() throws Http2Exception { server.local().createStream(0, true); }
@Test(expected = Http2Exception.class) public void newStreamNotForServerShouldThrow() throws Http2Exception { server.local().createStream(11, true); }
@Test(expected = Http2Exception.class) public void newStreamNotForClientShouldThrow() throws Http2Exception { client.local().createStream(10, true); }
@Test(expected = Http2Exception.class) public void createShouldThrowWhenMaxAllowedStreamsOpenExceeded() throws Http2Exception { server.local().maxActiveStreams(0); server.local().createStream(2, true); }
@SuppressWarnings("NumericOverflow") @Test(expected = Http2Exception.class) public void localStreamInvalidStreamIdShouldThrow() throws Http2Exception { client.local().createStream(MAX_VALUE + 2, false); }