code: public void free()
      {
          super.free();   // Free the sub-screens first!
  
          if (m_vFieldListList != null)
          {
              for (int i = m_vFieldListList.size() - 1; i >= 0; i--)
              {   // Step 1 - Disconnect the controls from the fields
                  FieldList fieldList = this.getFieldList(i);
                  if (fieldList != null)
                  {
                      this.disconnectControls(fieldList);
                      if (fieldList.getOwner() == this)
                          fieldList.free();
                  }
              }
              if (m_vFieldListList != null)
                  m_vFieldListList.clear();   // Note JBaseField.free() frees all the field lists
              m_vFieldListList = null;
          }
      }
docs: Free the resources held by this object.
  Besides freeing all the sub-screens, this method disconnects all of my
  fields from their controls.