Fatti:
Fatti:
A. B._, nato nel 1947, dal 1° luglio 1974 alle dipendenze della X._ SA, come capo magazzino, in seguito alla ristrutturazione dell'azienda datrice di lavoro e alla prospettata soppressione del proprio posto di lavoro, ha stipulato in data 5 marzo 1999 un "accordo sul versamento di un'indennità di buonuscita" con X._ SA, in forza del quale l'interessato, accettando di anticipare al 30 giugno 1999, anziché per la fine del 2000, la cessazione del rapporto di lavoro, che sarebbe comunque stato soppresso, si assicurava un'indennità di partenza di fr. 142'515.-.
Mediante decisione 28 luglio 1999, la Cassa disoccupazione del Sindacato Edilizia & Industria (SEI) ha sospeso dal 1° luglio 1999 - data a partire dalla quale l'interessato si è annunciato all'assicurazione contro la disoccupazione - e per la durata di 31 giorni il diritto all'indennità di B._ per il fatto che l'assicurato risultava disoccupato per propria colpa (grave).
Mediante decisione 28 luglio 1999, la Cassa disoccupazione del Sindacato Edilizia & Industria (SEI) ha sospeso dal 1° luglio 1999 - data a partire dalla quale l'interessato si è annunciato all'assicurazione contro la disoccupazione - e per la durata di 31 giorni il diritto all'indennità di B._ per il fatto che l'assicurato risultava disoccupato per propria colpa (grave).
B. Adito da B._ con il patrocinio del Sindacato Y._, il Tribunale delle assicurazioni del Cantone Ticino, per pronuncia 4 gennaio 2000, ne ha accolto il gravame rilevando in sostanza che, date le circostanze del caso, lo stato di disoccupazione che si era venuto a creare non era imputabile all'assicurato.
B. Adito da B._ con il patrocinio del Sindacato Y._, il Tribunale delle assicurazioni del Cantone Ticino, per pronuncia 4 gennaio 2000, ne ha accolto il gravame rilevando in sostanza che, date le circostanze del caso, lo stato di disoccupazione che si era venuto a creare non era imputabile all'assicurato.
C. Il Segretariato di Stato dell'economia (seco) interpone ricorso di diritto amministrativo al Tribunale federale delle assicurazioni, al quale chiede, in annullamento del giudizio cantonale, la conferma della decisione della Cassa.
B._, sempre patrocinato dal Sindacato Y._, propone la reiezione del gravame, mentre la Cassa disoccupazione del SEI ha rinunciato a determinarsi.

Diritto:
Diritto:
1. 1.1 Oggetto del contendere è la questione di sapere se a ragione il primo giudice, ritenuto che il licenziamento era già stato irrimediabilmente stabilito dal piano di ristrutturazione della X._ SA senza possibilità di ricollocamento, abbia annullato la decisione di sospensione decretata dalla Cassa nei confronti di B._ dopo che questi aveva accettato di anticipare la conclusione del rapporto di lavoro beneficiando di un'indennità di partenza.
1.2 Nei considerandi della querelata pronuncia sono state diffusamente esposte le disposizioni legali che disciplinano la sospensione del diritto alle indennità di disoccupazione per colpa propria dell'assicurato. In particolare, è stato rilevato a quali condizioni l'interessato è da ritenere disoccupato per propria colpa (<ref-law>), ricordando che questa ipotesi è segnatamente data quando egli, con il suo comportamento, in particolare con la violazione dei suoi obblighi contrattuali, ha fornito al datore di lavoro un motivo di disdetta del rapporto (<ref-law>) oppure quando ha disdetto il contratto di lavoro senza essersi preventivamente garantito un'altra occupazione, a meno che non si potesse esigere che conservasse il suo posto di lavoro precedente (<ref-law>). A tale esposizione può essere fatto riferimento e prestata adesione, non senza soggiungere che, pur essendo entrata in vigore il 1° gennaio 2003, la Legge federale sulla parte generale del diritto delle assicurazioni sociali (LPGA) del 6 ottobre 2000, non risulta applicabile in concreto, il giudice delle assicurazioni sociali non potendo tenere conto di modifiche di legge e di fatto subentrate successivamente al momento determinante della decisione in lite (<ref-ruling> consid. 1, 121 V 366 consid. 1b).
1.2 Nei considerandi della querelata pronuncia sono state diffusamente esposte le disposizioni legali che disciplinano la sospensione del diritto alle indennità di disoccupazione per colpa propria dell'assicurato. In particolare, è stato rilevato a quali condizioni l'interessato è da ritenere disoccupato per propria colpa (<ref-law>), ricordando che questa ipotesi è segnatamente data quando egli, con il suo comportamento, in particolare con la violazione dei suoi obblighi contrattuali, ha fornito al datore di lavoro un motivo di disdetta del rapporto (<ref-law>) oppure quando ha disdetto il contratto di lavoro senza essersi preventivamente garantito un'altra occupazione, a meno che non si potesse esigere che conservasse il suo posto di lavoro precedente (<ref-law>). A tale esposizione può essere fatto riferimento e prestata adesione, non senza soggiungere che, pur essendo entrata in vigore il 1° gennaio 2003, la Legge federale sulla parte generale del diritto delle assicurazioni sociali (LPGA) del 6 ottobre 2000, non risulta applicabile in concreto, il giudice delle assicurazioni sociali non potendo tenere conto di modifiche di legge e di fatto subentrate successivamente al momento determinante della decisione in lite (<ref-ruling> consid. 1, 121 V 366 consid. 1b).
2. Il Segretariato ricorrente censura l'operato della precedente istanza e fa notare che la prevedibilità della soppressione del posto di lavoro non poteva, di per sé e in dispregio dell'obbligo di ridurre il danno, giustificare il ricorso alle prestazioni dell'assicurazione contro la disoccupazione dal momento che l'assicurato non era "minacciato di disoccupazione immediata, potendo continuare i rapporti di lavoro per oltre un anno, e quindi disponeva di tutto il tempo necessario per cercare un nuovo impiego". Contesta pertanto che la continuazione del rapporto di lavoro presso X._ SA potesse essere considerata inesigibile come invece ha fatto il giudice cantonale.
2. Il Segretariato ricorrente censura l'operato della precedente istanza e fa notare che la prevedibilità della soppressione del posto di lavoro non poteva, di per sé e in dispregio dell'obbligo di ridurre il danno, giustificare il ricorso alle prestazioni dell'assicurazione contro la disoccupazione dal momento che l'assicurato non era "minacciato di disoccupazione immediata, potendo continuare i rapporti di lavoro per oltre un anno, e quindi disponeva di tutto il tempo necessario per cercare un nuovo impiego". Contesta pertanto che la continuazione del rapporto di lavoro presso X._ SA potesse essere considerata inesigibile come invece ha fatto il giudice cantonale.
3. 3.1 In una recente sentenza dell'11 giugno 2001 in re D., C 276/99, il Tribunale federale delle assicurazioni ha già avuto modo di affermare che il comportamento di un assicurato che accetta la decisione del datore di lavoro di rinunciare alla continuazione del contratto di lavoro fino al termine pattuito - nella fattispecie evocata si trattava di un amministratore generale di una società sportiva che, pur avendo sottoscritto con detta società una convenzione per la durata di tre anni e mezzo con una retribuzione annua di fr. 144'000.-, aveva accettato di concludere i rapporti già al termine del primo anno, percependo in cambio un'indennità di fr. 40'000.- - è suscettibile di cadere nel campo d'applicazione dell'<ref-law> e dell'art. 44 cpv. 1 lett. a o b OADI. In quella vertenza, tuttavia, la questione non ha potuto essere risolta definitivamente e la causa ha dovuto essere rinviata all'amministrazione per accertamenti completivi in quanto mancavano agli atti gli elementi necessari per pronunciarsi sull'esistenza o meno di un simile comportamento colposo.
3.2 Dalla predetta sentenza deve dedursi che l'accettazione di una proposta di cessazione prematura dell'attività dietro compenso finanziario non costituisce di per sé un comportamento colposo, la sussistenza di una tale colpa essendo subordinata all'adempimento dei requisiti posti dall'art. 44 cpv. 1 lett. a o b OADI.
Ora, è pacifico che nell'evenienza concreta B._ non ha fornito al datore di lavoro, con il suo agire, un motivo di disdetta del rapporto di lavoro, il certificato di lavoro rilasciato da X._ SA in data 14 luglio 1999 dando espressamente atto che le prestazioni e il comportamento dell'interessato sono sempre stati soddisfacenti.
Né si può, per il resto, ritenere che la disoccupazione fosse altrimenti imputabile all'assicurato. Infatti, come giustamente rilevato nella pronuncia impugnata, se l'interessato, rimasto vittima di una misura di ristrutturazione senza possibilità di ricollocamento interno, non avesse "accettato" la proposta di anticipare la cessazione del rapporto d'impiego al 30 giugno 1999, non solo avrebbe comunque perso il posto di lavoro, ma avrebbe pure dovuto rinunciare all'indennità di buonuscita. Senza dimenticare che, così agendo, si sarebbe trovato, in età ancora più avanzata, e quindi, come insegna l'esperienza, con minori possibilità di reinserimento professionale, alla ricerca di una nuova attività lavorativa.
A ragione pertanto il giudice di prime cure ha concluso che, in queste condizioni, non si poteva ragionevolmente esigere da B._ di conservare il vecchio impiego.
3.3 Va infine notato che se l'Ufficio federale dello sviluppo economico e del lavoro (dal 1° luglio 1999: Segretariato di Stato dell'economia [seco]) il 15 maggio 1998 ha prolato, contra legem (<ref-ruling>: in quella sede il Tribunale federale delle assicurazioni ha precisato che, essendo la direttiva in questione sistematicamente applicata dall'amministrazione, il principio dell'uguaglianza di trattamento nell'illegalità deve prevalere su quello della legalità dell'attività amministrativa), una direttiva in base alla quale, prescindendo dalla loro qualifica sotto il profilo dell'AVS, le indennità di partenza, accordate facoltativamente ma non aventi carattere di prestazioni previdenziali, non vengono prese in considerazione e non influenzano in alcun modo né l'inizio né l'ammontare delle indennità di disoccupazione (cfr. pure Prassi ML/AD 99/2 foglio 2/1), ciò non deve permettere all'amministrazione, inadempiuti i menzionati requisiti di cui all'<ref-law>, di recuperare almeno in parte, tramite l'istituto della sospensione, quanto concesso in virtù della menzionata direttiva.
3.3 Va infine notato che se l'Ufficio federale dello sviluppo economico e del lavoro (dal 1° luglio 1999: Segretariato di Stato dell'economia [seco]) il 15 maggio 1998 ha prolato, contra legem (<ref-ruling>: in quella sede il Tribunale federale delle assicurazioni ha precisato che, essendo la direttiva in questione sistematicamente applicata dall'amministrazione, il principio dell'uguaglianza di trattamento nell'illegalità deve prevalere su quello della legalità dell'attività amministrativa), una direttiva in base alla quale, prescindendo dalla loro qualifica sotto il profilo dell'AVS, le indennità di partenza, accordate facoltativamente ma non aventi carattere di prestazioni previdenziali, non vengono prese in considerazione e non influenzano in alcun modo né l'inizio né l'ammontare delle indennità di disoccupazione (cfr. pure Prassi ML/AD 99/2 foglio 2/1), ciò non deve permettere all'amministrazione, inadempiuti i menzionati requisiti di cui all'<ref-law>, di recuperare almeno in parte, tramite l'istituto della sospensione, quanto concesso in virtù della menzionata direttiva.
4. 4.1 In esito alle suesposte considerazioni, il ricorso di diritto amministrativo deve essere disatteso, mentre la pronuncia querelata merita di essere confermata.
4. 4.1 In esito alle suesposte considerazioni, il ricorso di diritto amministrativo deve essere disatteso, mentre la pronuncia querelata merita di essere confermata.
4.2 La procedura è gratuita (art. 134 OG). Vincente in causa, B._, assistito da un sindacato, ha diritto al versamento di ripetibili (art. 135 e 159 OG).

Per questi motivi, il Tribunale federale delle assicurazioni pronuncia:
Per questi motivi, il Tribunale federale delle assicurazioni pronuncia:
1. Il ricorso di diritto amministrativo è respinto.
1. Il ricorso di diritto amministrativo è respinto.
2. Non si percepiscono spese giudiziarie.
2. Non si percepiscono spese giudiziarie.
3. Il seco verserà a B._ la somma di fr. 2000.- (comprensiva dell'imposta sul valore aggiunto) a titolo di indennità di parte per la procedura federale.
3. Il seco verserà a B._ la somma di fr. 2000.- (comprensiva dell'imposta sul valore aggiunto) a titolo di indennità di parte per la procedura federale.
4. La presente sentenza sarà intimata alle parti, al Tribunale cantonale delle assicurazioni, Lugano, e alla Cassa disoccupazione SEI di Bellinzona.