code: private WComponent findComponentForLabel(final WComponent component) {
  		// Input (but not a RadioButtonGroup)
  		if (component instanceof Input && !(component instanceof RadioButtonGroup)) {
  			return component;
  		}
  
  		// Fieldset or RadioButton
  		if (component instanceof WFieldSet || component instanceof WRadioButton) {
  			return component;
  		}
  
  		// Dont dive into repeaters or tables (Not usually used in a WField)
  		if (component instanceof WRepeater || component instanceof WTable || component instanceof WDataTable) {
  			return null;
  		}
  
  		if (component instanceof Container) {
  			Container container = (Container) component;
  			final int childCount = container.getChildCount();
  
  			for (int i = 0; i < childCount; i++) {
  				WComponent theField = findComponentForLabel(container.getChildAt(i));
  
  				if (theField != null) {
  					return theField;
  				}
  			}
  		}
  
  		return null;
  	}
docs: Finds the first component that can be labeled (if any).
  
  @param component the root of the component hierarchy to check.
  @return the first component that can be labelled, otherwise null.