class IpcNetworkProtocolProvider implements NetworkProtocolProvider
{
    @Override
    public boolean handleProtocol(NetProtocol protocol)
    {
        return protocol == NetProtocol.ipc;
    }

    @Override
    public Listener getListener(IOThread ioThread, SocketBase socket,
                                Options options)
    {
        return new IpcListener(ioThread, socket, options);
    }

    @Override
    public IZAddress zresolve(String addr, boolean ipv6)
    {
        return new IpcAddress(addr);
    }

    @Override
    public void startConnecting(Options options, IOThread ioThread,
                                SessionBase session, Address addr,
                                boolean delayedStart, Consumer<Own> launchChild,
                                BiConsumer<SessionBase, IEngine> sendAttach)
    {<FILL_FUNCTION_BODY>}

    @Override
    public boolean isValid()
    {
        return true;
    }

    @Override
    public boolean wantsIOThread()
    {
        return true;
    }
}

        IpcConnecter connecter = new IpcConnecter(ioThread, session, options, addr, delayedStart);
        launchChild.accept(connecter);
    
<no_super_class>