public Face getOpposingFace() throws UnsupportedOperationException
    {

        switch ( this )
        {

            case LEFT:
                return RIGHT;

            case RIGHT:
                return LEFT;

            case BOTTOM:
                return TOP;

            case TOP:
                return BOTTOM;

            case BACK:
                return FRONT;

            case FRONT:
                return BACK;

        }

        throw new UnsupportedOperationException( "Something's wrong about this face; index: " + value );
    }