I am writing a class where the name starts with an I (because that's the name of the product we're integrating with - can't change).
Convention states that class names have a capital letter to start, however in this case it would appear to the consumer as an interface.
Is there any documentation guiding developers on the correct approach here? In addition what happens if I do need to implement and interface - should it be IiProduct/IIProduct?
Edited to Add:
I can't mention the product for obvious reasons but it follows the same capitalisation convention as apple. iPhone, therefore IPhoneClass (follows their branding but appears as an interface) rather than IphoneClass (which follows convention rather than branding).
I<CapitalLetter>....Imageclass.Iphoneto keep class naming consistent. I'm sure people using the class would be more upset if they thought it was an interface, than if it wasn't capitalized as the product is to follow convention.