package Ġorg . know ledger . ledger . storage . pools . block Ċ Ċ import Ġorg . know ledger . collections . Mutable Sort edList Ċ import Ġorg . know ledger . collections . to Mutable Sort edList From Pre Sorted Ċ import Ġorg . know ledger . ledger . storage . Block Pool Ċ import Ġorg . know ledger . ledger . storage . Chain Id Ċ import Ġorg . know ledger . ledger . storage . Mutable Block Ċ import Ġorg . know ledger . ledger . storage . Mutable Block Pool Ċ Ċ internal Ġclass ĠBlock Pool Factory Impl Ġ: ĠBlock Pool Factory Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcreate ( chain Id : ĠChain Id , Ġblocks : ĠMutable Sort edList < Mutable Block >): ĠBlock Pool Impl Ġ= ĊĠĠĠĠĠĠĠ ĠBlock Pool Impl ( chain Id , Ġblocks ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( pool : ĠBlock Pool ): ĠMutable Block Pool Ġ= ĊĠĠĠĠĠĠĠ Ġwith ( pool ) Ġ{ Ġcreate ( chain Id , Ġblocks . to Mutable Sort edList From Pre Sorted ()) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( other : ĠMutable Block Pool ): ĠBlock Pool Impl Ġ= ĊĠĠĠĠĠĠĠ Ġwith ( other ) Ġ{ Ġcreate ( chain Id , Ġmutable Blocks ) Ġ} Ċ }