question: @ Override public int compareTo ( ScoutWidget scoutWidget ) { if ( mParent == null ) { return - 1 ; } if ( mRootDistance != scoutWidget . mRootDistance ) { return Float . compare ( mRootDistance , scoutWidget . mRootDistance ) ; } if ( mY != scoutWidget . mY ) { return Float . compare ( mY , scoutWidget . mY ) ; } if ( mX != scoutWidget . mX ) { return Float . compare ( mX , scoutWidget . mX ) ; } return 0 ; }
target:  Sets the order root first followed by outside to inside, top to bottom, left to right