       width: 'depth'
       height: 'width'
       depth: 'height'
-    # @FIXME: ねじれた位置での比較が考慮されていない。
-    # 上記3種以外にheight,depthの2辺の順番違いの条件が存在する。
+    # EXCHANGE_SIDE_1 =
+    #   width: 'width'
+    #   height: 'depth'
+    #   depth: 'height'
+    # EXCHANGE_SIDE_2 =
+    #   width: 'depth'
+    #   height: 'height'
+    #   depth: 'width'
+    # EXCHANGE_SIDE_3  =
+    #   width: 'height'
+    #   height: 'width'
+    #   depth: 'depth'
 
     switch box.side
       when 'width'

      if longestSideOfParcel.value <= BoxSide.value
        debug "longestSideOfParcel.side = #{longestSideOfParcel.side}"
        debug "BoxSide.side = #{BoxSide.side}"
        table = @_adjustSide longestSideOfParcel, BoxSide
        for k,v of table
          debug "box[#{k}]@#{@[k]} : parcel[#{v}]@#{parcel[v]}"

        @_pushParcel(parcel, table)
        break


    true


    # 箱を最大限に活かすために，
    # 箱の最短辺と荷物の長辺を比較．
    # 入ればそれで箱の容量を減らす．
    # 入らなければ次に短い荷物の辺を比較
    # 以下繰り返し

    # sides = @_sortSide parcel
    # shortestSideOfBox = @_shortestSide @
    # # 箱の最短辺と荷物の長辺を比較して
    # for side in sides
    #   debug "parcel[#{side.side}] = #{parcel[side.side]}"
    #   if shortestSideOfBox.value > side.value
    #     debug "shortestSideOfBox.side = #{shortestSideOfBox.side}"
    #     debug "side.side = #{side.side}"
    #     table = @_adjustSide shortestSideOfBox, side
    #     for k,v of table
    #       debug "box[#{k}]@#{@[k]} : parcel[#{v}]@#{parcel[v]}"
    #
    #     @_pushParcel(parcel, table)
    #     break
    #
    #
    # true

  ###
  最大辺同士を合わせた際に，対応する辺を導き出す
  ###
  _getTableOfSides: (box, parcel)->
    ASIS =
      width: 'width'
      height: 'height'
