// This class represents a cancellation order
class CancelOrder extends Order {
    private int cancellationOrderNumber; 

    // Two different ways to constuct a CancelOrder object
    CancelOrder( Order toBeCancelled) {
        super(); 
        cancellationOrderNumber = toBeCancelled.getOrderNumber(); 
    }

    CancelOrder( int cancellationOrderNumber) {
	super();
        this.cancellationOrderNumber = cancellationOrderNumber;
    }

    // return String that represents this object
    public String toString() {
        return super.toString()+" Cancel#"+cancellationOrderNumber;  
    }

    // return the cancellation order number
    public int getCancellationOrderNumber() {
        return cancellationOrderNumber;
    }

    // return true if the current order is valid
    public boolean isGood() {
        return cancellationOrderNumber > 0 
            && cancellationOrderNumber != this.orderNumber;
    }
}

