public Payment(IPaymentMethod paymentMethod) { if (paymentMethod is CreditCard) { CreditCard = paymentMethod as CreditCard; } if (!paymentMethod.IsValid()) { AddValidationResults(paymentMethod.ValidationResult); } }