static <D extends Destination, K extends ComparableKey<?>> Overlay<D, K> genOv( Peer peer, Net ntype, int port) throws IdConflictException, IOException { ChannelTransport<?> tr = peer.newBaseChannelTransport("LINGER0", genLocator(ntype, "localhost", port)); Overlay<D, K> ov = new MSkipGraph<D, K>(tr); App<D, K> app = new App<D, K>(peer.getPeerId()); ov.setListener(appId, app); return ov; }