Problem with Nested FOR loops

When I execute the following code and observe the serial port monitor I see that the inner "green" loop increments but the outer "blue" and "red" loops do not. This could be do to the late hour and maybe I need to get some sleep. What am I missing? BTW, I've run the code on both a Duemilanove and Uno board.

int ledRed = 9;
int ledBlue = 10;
int ledGreen = 11;

// the setup routine runs once when you press reset:
void setup() {         
  Serial.begin(9600);  
  // initialize the digital pin as an output.
  pinMode(ledRed, OUTPUT);
  pinMode(ledBlue, OUTPUT);
  pinMode(ledGreen, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  for (byte red = 0; red <= 255; red++) {
    analogWrite(ledRed, red);
    for (byte blue = 0; blue <= 255; blue++) {
      analogWrite(ledBlue, blue);
      for (byte green = 0; green <= 255; green++) {
        analogWrite(ledGreen, green);
        Serial.println("Red=" + String(red) + " Blue=" + String(blue) + " Green=" + String(green));
      }
    }
  }
}
  for (byte red = 0; red <= 255; red++) {

SInce a byte holds a number from 0 to 255 that condition (red <= 255) will always be true.

So the green loop wasn't starting over, it was always true and the variable was just rolling over. LOL! Can't believe I fell for that!