/**
  * Adjust totals display
  * @param  array $total_rows
  * @param  WC_Order $order
  * @return array
  */
 public function woocommerce_get_order_item_totals($total_rows, $order)
 {
     if ($this->has_deposit($order)) {
         $remaining = 0;
         $paid = 0;
         foreach ($order->get_items() as $item) {
             if (WC_Deposits_Order_Item_Manager::is_deposit($item)) {
                 if (!WC_Deposits_Order_Item_Manager::get_payment_plan($item)) {
                     $remaining_balance_order_id = !empty($item['remaining_balance_order_id']) ? absint($item['remaining_balance_order_id']) : 0;
                     $remaining_balance_paid = !empty($item['remaining_balance_paid']);
                     if (empty($remaining_balance_order_id) && !$remaining_balance_paid) {
                         $remaining += $item['deposit_full_amount'] - ($order->get_line_subtotal($item, true) + $item['line_tax']);
                     }
                 }
             }
         }
         // PAID scheduled orders
         $related_orders = WC_Deposits_Scheduled_Order_Manager::get_related_orders($order->id);
         foreach ($related_orders as $related_order_id) {
             $related_order = wc_get_order($related_order_id);
             if ($related_order->has_status('processing', 'completed')) {
                 $paid += $related_order->get_total();
             } else {
                 $remaining += $related_order->get_total();
             }
         }
         if ($remaining && $paid) {
             $total_rows['future'] = array('label' => __('Future&nbsp;Payments&nbsp;', 'woocommerce-deposits'), 'value' => '<del>' . wc_price($remaining + $paid) . '</del> <ins>' . wc_price($remaining) . '</ins>');
         } elseif ($remaining) {
             $total_rows['future'] = array('label' => __('Future&nbsp;Payments&nbsp;', 'woocommerce-deposits'), 'value' => wc_price($remaining));
         }
     }
     return $total_rows;
 }
 /**
  * Get the class instance
  */
 public static function get_instance()
 {
     return null === self::$instance ? self::$instance = new self() : self::$instance;
 }