;    }    reversalMovement.setReversal(true);      // Reverse Line Qty    Arrays.stream(getLines(true)).forEach(movementLine -> {     MMovementLine reversalMovementLine = new MMovementLine(getCtx(), 0, get_TrxName());     copyValues(movementLine, reversalMovementLine, movementLine.getAD_Client_ID(), movementLine.getAD_Org_ID());     reversalMovementLine.setM_Movement_ID(reversalMovement.getM_Movement_ID());     // store original (voided/reversed) document line     reversalMovementLine.setReversalLine_ID(movementLine.getM_MovementLine_ID());     reversalMovementLine.setMovementQty(movementLine.getMovementQty().negate());     reversalMovementLine.setTargetQty(movementLine.getTargetQty().negate());     reversalMovementLine.setScrappedQty(movementLine.getScrappedQty().negate());     reversalMovementLine.setConfirmedQty(movementLine.getConfirmedQty().negate());     reversalMovementLine.setProcessed(false);     reversalMovementLine.saveEx();       // We need revert MA     MMovementLineMA[] mas = MMovementLineMA.get(getCtx(), movementLine.getM_MovementLine_ID(), get_TrxName());     Arrays.stream(mas).forEach(lineMA -> {      MMovementLineMA reverseLine = new MMovementLineMA (reversalMovementLine, lineMA.getM_AttributeSetInstance_ID(), lineMA.getMovementQty().negate());      reverseLine.saveEx();     });    });      //After that those reverse movements confirmations are generated,    //the reverse reference for movement and movement line are set    Arrays.stream(getConfirmations(true)).forEach(movementConfirm -> {     movementConfirm.reverseCorrectIt();    });    //After movements confirmations are reverce generate the movement id and movement line    Arrays.stream(getConfirmations(true)).filter(movementConfirm -> movementConfirm.getReversal_ID() > 0)      .forEach(movementConfirm -> {       Arrays.stream(reversalMovement.getLines(true)).forEach(reversalMovementLine -> {        Arrays.stream(movementConfirm.getLines(true))          .filter(movementLineConfirm -> movementLineConfirm.getM_MovementLine_ID() == reversalMovementLine.getReversalLine_ID())          .forEach(movementLineConfirm -> {           movementLineConfirm.setM_MovementLine_ID(reversalMovementLine.getM_MovementLine_ID());           movementLineConfirm.saveEx();          });       });       movementConfirm.setM_Movement_ID(reversalMovement.getM_Movement_ID());       movementConfirm.setIsReversal(true);       movementConfirm.saveEx();      });        if (!reversalMovement.processIt(DocAction.ACTION_Complete))    {     processMessage = "Reversal ERROR: " + reversalMovement.getProcessMsg();     return 