package Ġcom . dl c . cord a . utilities Ċ Ċ import Ġnet . cord a . core . serialization . C ord a Serializable Ċ Ċ /** Ċ Ġ* ĠA Ġclass Ġto Ġrepresent Ġa Ġsingle Ġcomponent Ġcube Ġas Ġpart Ġof Ġthe ĠRub ik 's Ġcube Ġpuzzle . Ċ Ġ*/ Ċ @ C ord a Serializable Ċ data Ġclass ĠCube Face ( ĊĠĠĠĠĠĠĠ Ġval Ġface State : ĠList < Cube Color > Ċ ) Ġ{ ĊĊĠĠĠ Ġconstructor ( mutable Cube Face : ĠMutable Cube Face ): Ġthis ( mutable Cube Face . face State . toList ()) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( face State . size Ġ!= Ġ 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠCube Initialization Exception (" A Ġcube Ġface Ġmust Ġhave Ġexactly Ġ 9 ĠCube Colors ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConvert Ġthe Ġcomponent Ġcube Ġto Ġa Ġmutable Ġcomponent Ġcube Ġfor Ġtransformation ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Mutable Cube Face () Ġ= ĠMutable Cube Face ( this ) Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġclass Ġto Ġrepresent Ġa Ġsingle Ġcomponent Ġcube Ġthat Ġwill Ġbe Ġmut ated Ġas Ġpart Ġof Ġa Ġtransformation . Ċ Ġ*/ Ċ data Ġclass ĠMutable Cube Face ( private Ġval Ġcube Face : ĠCube Face ) Ġ{ ĊĠĠĠ Ġval Ġface State Ġ= Ġcube Face . face State . to Mutable List () Ċ } Ċ Ċ /** Ċ Ġ* ĠAn Ġenum Ġclass Ġrepresenting Ġthe Ġcolors Ġthe Ġcomp rise Ġall Ġcomponent Ġc ubes Ġof Ġthe ĠRub ik 's Ġcube Ġpuzzle . Ċ Ġ*/ Ċ @ C ord a Serializable Ċ enum Ġclass ĠCube Color Ġ{ ĊĠĠĠ ĠWH ITE , ĊĠĠĠ ĠY ELLOW , ĊĠĠĠ ĠGREEN , ĊĠĠĠ ĠBL UE , ĊĠĠĠ ĠOR ANGE , ĊĠĠĠ ĠRED Ċ }