+    Przyporzadkuj.prototype.solve_question = function(question) {
+      var $ph, $pr, m, mandatory, optional, qp, v, _i, _len, _ref, _results;
+      _ref = $(".subject .question-piece", question);
+      _results = [];
+      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+        qp = _ref[_i];
+        v = this.get_value_optional_list(qp, 'solution');
+        mandatory = v[0];
+        optional = v[1];
+        _results.push((function() {
+          var _j, _len1, _ref1, _results1;
+          _ref1 = mandatory.concat(optional);
+          _results1 = [];
+          for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
+            m = _ref1[_j];
+            $pr = $(".predicate [data-predicate=" + m + "]", question);
+            $ph = $pr.find(".placeholder");
+            _results1.push(this.draggable_move($(qp), $ph, this.multiple));
+          }
+          return _results1;
+        }).call(this));
+      }
+      return _results;
+    };
+