code: @Override
      public Color getColorForState(SynthContext ctx, ColorType type) {
          String key = null;
  
          if (type == ColorType.BACKGROUND) {
              key = "background";
          } else if (type == ColorType.FOREGROUND) {
  
              // map FOREGROUND as TEXT_FOREGROUND
              key = "textForeground";
          } else if (type == ColorType.TEXT_BACKGROUND) {
              key = "textBackground";
          } else if (type == ColorType.TEXT_FOREGROUND) {
              key = "textForeground";
          } else if (type == ColorType.FOCUS) {
              key = "focus";
          } else if (type != null) {
              key = type.toString();
          } else {
              return defaultColor;
          }
  
          Color c = (Color) get(ctx, key);
  
          // if all else fails, return a default color (which is a
          // ColorUIResource)
          if (c == null)
              c = defaultColor;
  
          return c;
      }
docs: Returns the color for the specified state. This should NOT call any
  methods on the <code>JComponent</code>.
  
  <p>Overridden to cause this style to populate itself with data from
  UIDefaults, if necessary.</p>
  
  <p>In addition, SeaGlassStyle handles ColorTypes slightly differently
  from Synth.</p>
  
  <ul>
  <li>ColorType.BACKGROUND will equate to the color stored in UIDefaults
  named "background".</li>
  <li>ColorType.TEXT_BACKGROUND will equate to the color stored in
  UIDefaults named "textBackground".</li>
  <li>ColorType.FOREGROUND will equate to the color stored in UIDefaults
  named "textForeground".</li>
  <li>ColorType.TEXT_FOREGROUND will equate to the color stored in
  UIDefaults named "textForeground".</li>
  </ul>
  
  @param  ctx  context SynthContext identifying requester
  @param  type Type of color being requested.
  
  @return Color to render with