|  | @@ 357-364 (lines=8) @@ | 
                                                            
                                    | 354 |  | 	 */ | 
                                                            
                                    | 355 |  | 	public static function cancel_ticket_line_item( EE_Line_Item $ticket_line_item, $qty = 1 ) { | 
                                                            
                                    | 356 |  | 		// validate incoming line_item | 
                                                            
                                    | 357 |  | 		if ( $ticket_line_item->OBJ_type() !== 'Ticket' ) { | 
                                                            
                                    | 358 |  | 			throw new EE_Error( | 
                                                            
                                    | 359 |  | 				sprintf( | 
                                                            
                                    | 360 |  | 					__( 'The supplied line item must have an Object Type of "Ticket", not %1$s.', 'event_espresso' ), | 
                                                            
                                    | 361 |  | 					$ticket_line_item->type() | 
                                                            
                                    | 362 |  | 				) | 
                                                            
                                    | 363 |  | 			); | 
                                                            
                                    | 364 |  | 		} | 
                                                            
                                    | 365 |  | 		if ( $ticket_line_item->quantity() < $qty ) { | 
                                                            
                                    | 366 |  | 			throw new EE_Error( | 
                                                            
                                    | 367 |  | 				sprintf( | 
                                                                                
                                |  | @@ 440-447 (lines=8) @@ | 
                                                            
                                    | 437 |  | 	 */ | 
                                                            
                                    | 438 |  | 	public static function reinstate_canceled_ticket_line_item( EE_Line_Item $ticket_line_item, $qty = 1 ) { | 
                                                            
                                    | 439 |  | 		// validate incoming line_item | 
                                                            
                                    | 440 |  | 		if ( $ticket_line_item->OBJ_type() !== 'Ticket' ) { | 
                                                            
                                    | 441 |  | 			throw new EE_Error( | 
                                                            
                                    | 442 |  | 				sprintf( | 
                                                            
                                    | 443 |  | 					__( 'The supplied line item must have an Object Type of "Ticket", not %1$s.', 'event_espresso' ), | 
                                                            
                                    | 444 |  | 					$ticket_line_item->type() | 
                                                            
                                    | 445 |  | 				) | 
                                                            
                                    | 446 |  | 			); | 
                                                            
                                    | 447 |  | 		} | 
                                                            
                                    | 448 |  | 		// get cancellation sub line item | 
                                                            
                                    | 449 |  | 		$cancellation_line_item = EEH_Line_Item::get_descendants_of_type( | 
                                                            
                                    | 450 |  | 			$ticket_line_item, | 
                                                                                
                                |  | @@ 718-725 (lines=8) @@ | 
                                                            
                                    | 715 |  | 			); | 
                                                            
                                    | 716 |  | 		} | 
                                                            
                                    | 717 |  | 		$event = $first_datetime->event(); | 
                                                            
                                    | 718 |  | 		if ( ! $event instanceof EE_Event ) { | 
                                                            
                                    | 719 |  | 			throw new EE_Error( | 
                                                            
                                    | 720 |  | 				sprintf( | 
                                                            
                                    | 721 |  | 					__( 'The supplied ticket (ID %d) has no event data associated with it.', 'event_espresso' ), | 
                                                            
                                    | 722 |  | 					$ticket->ID() | 
                                                            
                                    | 723 |  | 				) | 
                                                            
                                    | 724 |  | 			); | 
                                                            
                                    | 725 |  | 		} | 
                                                            
                                    | 726 |  | 		$events_sub_total = EEH_Line_Item::get_event_line_item( $grand_total, $event ); | 
                                                            
                                    | 727 |  | 		if ( ! $events_sub_total instanceof EE_Line_Item ) { | 
                                                            
                                    | 728 |  | 			throw new EE_Error( |