code: private int scale(SynthContext context, int size) {
          if (context == null || context.getComponent() == null) {
              return size;
          }
  
          // The key "JComponent.sizeVariant" is used to match Apple's LAF
          String scaleKey = SeaGlassStyle.getSizeVariant(context.getComponent());
          if (scaleKey != null) {
              if (SeaGlassStyle.LARGE_KEY.equals(scaleKey)) {
                  size *= SeaGlassStyle.LARGE_SCALE;
              } else if (SeaGlassStyle.SMALL_KEY.equals(scaleKey)) {
                  size *= SeaGlassStyle.SMALL_SCALE;
              } else if (SeaGlassStyle.MINI_KEY.equals(scaleKey)) {
  
                  // mini is not quite as small for icons as full mini is
                  // just too tiny
                  size *= SeaGlassStyle.MINI_SCALE + 0.07;
              }
          }
  
          return size;
      }
docs: Scale a size based on the "JComponent.sizeVariant" client property of the
  component that is using this icon
  
  @param  context The synthContext to get the component from
  @param  size    The size to scale
  
  @return The scaled size or original if "JComponent.sizeVariant" is not
  set