class ConnectivityJob extends VisorJob<DiagnosticConnectivityCommandArg, ConnectivityResult> {
        /** */
        private static final long serialVersionUID = 0L;

        /**
         * @param arg   Formal job argument.
         * @param debug Debug flag.
         */
        private ConnectivityJob(DiagnosticConnectivityCommandArg arg, boolean debug) {
            super(arg, debug);
        }

        /** {@inheritDoc} */
        @Override protected ConnectivityResult run(DiagnosticConnectivityCommandArg arg) {<FILL_FUNCTION_BODY>}

        /** {@inheritDoc} */
        @Override public String toString() {
            return S.toString(ConnectivityJob.class, this);
        }
    }

            List<UUID> ids = ignite.cluster().nodes().stream()
                .map(ClusterNode::id)
                .filter(uuid -> !Objects.equals(ignite.localNode().id(), uuid))
                .collect(Collectors.toList());

            List<ClusterNode> nodes = new ArrayList<>(ignite.cluster().forNodeIds(ids).nodes());

            CommunicationSpi spi = ignite.configuration().getCommunicationSpi();

            Map<ClusterNode, Boolean> statuses = new HashMap<>();

            if (spi instanceof TcpCommunicationSpi) {
                BitSet set = ((TcpCommunicationSpi)spi).checkConnection(nodes).get();

                for (int i = 0; i < nodes.size(); i++) {
                    ClusterNode node = nodes.get(i);
                    boolean success = set.get(i);

                    statuses.put(node, success);
                }
            }

            return new ConnectivityResult(statuses);
        
<methods>public non-sealed void <init>() ,public Map<? extends org.apache.ignite.compute.ComputeJob,org.apache.ignite.cluster.ClusterNode> map(List<org.apache.ignite.cluster.ClusterNode>, VisorTaskArgument<org.apache.ignite.internal.management.diagnostic.DiagnosticConnectivityCommandArg>) ,public final Map<org.apache.ignite.cluster.ClusterNode,org.apache.ignite.internal.management.diagnostic.ConnectivityResult> reduce(List<org.apache.ignite.compute.ComputeJobResult>) ,public org.apache.ignite.compute.ComputeJobResultPolicy result(org.apache.ignite.compute.ComputeJobResult, List<org.apache.ignite.compute.ComputeJobResult>) <variables>protected boolean debug,protected transient org.apache.ignite.internal.IgniteEx ignite,protected long start,protected org.apache.ignite.internal.management.diagnostic.DiagnosticConnectivityCommandArg taskArg