When should I use a nested class?
I have a class that I writes iCal events, and it contains nested classes that are public.  The  class are bascially complex types for components in the iCal such as events, alarms, etc, and it made sense to make them public nested classes that were used by the rest of the program.

I have read that having public nested classes is a sign of bad programming is.  Why is it bad and when is it appropriate nested classes?
When should I use a nested class?
===

I have a class that I writes iCal events, and it contains nested classes that are public.  The  class are bascially complex types for components in the iCal such as events, alarms, etc, and it made sense to make them public nested classes that were used by the rest of the program.

I have read that having public nested classes is a sign of bad programming is.  Why is it bad and when is it appropriate nested classes?