class ZkBulkJoinContext {
    /** */
    List<T2<ZkJoinedNodeEvtData, Map<Integer, Serializable>>> nodes;

    /**
     * @param nodeEvtData Node event data.
     * @param discoData Discovery data for node.
     */
    void addJoinedNode(ZkJoinedNodeEvtData nodeEvtData, Map<Integer, Serializable> discoData) {<FILL_FUNCTION_BODY>}

    /**
     * @return Number of joined nodes.
     */
    int nodes() {
        return nodes != null ? nodes.size() : 0;
    }
}

        if (nodes == null)
            nodes = new ArrayList<>();

        nodes.add(new T2<>(nodeEvtData, discoData));
    
<no_super_class>