Code Duplication    Length = 8-8 lines in 3 locations

core/helpers/EEH_Line_Item.helper.php 3 locations

@@ 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(