docs: public void removeComponent(Object screenField)
      {
          if (this.getNextConverter() != null)
          {
              FieldInfo field = this.getField();
              this.getNextConverter().removeComponent(screenField);
              // **START SPECIAL CODE** This code is for a specific special case.
              // This code is for the special case when one converter is used by two SFields
              // I Don't free this converter if there is still an SField pointing to me.
              if (field != null)
              {
                  for (int i = 0; ; i++)
                  {
                      Object screenField2 = field.getComponent(i);
                      if (!(screenField2 instanceof ScreenComponent))
                          break;      // End of loop
                      if (screenField2 != screenField)
                      {   // Okay, this field has another SField, go through the converters and make sure this one is not referenced.
                          Convert converter = ((ScreenComponent)screenField2).getConverter();
                          while ((converter != null) && (converter != field))
                          {
                              if (converter == this)
                                  return;     // DO NOT Free this converter, it is referenced by another ScreenField!
                              if (converter instanceof LinkedConverter)
                                  converter = ((LinkedConverter)converter).getNextConverter();
                              else
                                  converter = null;
                          }
                      }
                  }
              }
  
          }
          super.removeComponent(screenField);   // delete this
      }