Thank for your helpful and self-documented class. I think it is the best oop class for Islamic calendar.
Unfortunately it has problem in month duration and date. I take an example:
Rabi' II - 1435 has 29 days based on your class, but it is not correct, because Rabi' II - 1435 has 30 days. All the month in the current year(1435) has the same problem.
What is your idea?