ui/src/main/java/ucar/nc2/ui/util/SwingUtils.java
public static <T extends JComponent> T getDescendantOfType(Class<T> clazz,
         Container container, String property, Object value, boolean nested)
         throws IllegalArgumentException {
      List<T> list = getDescendantsOfType(clazz, container, nested);
      return getComponentFromList(clazz, list, property, value);
   }
public static <T extends JComponent> T getDescendantOfType(Class<T> clazz,
         Container container, String property, Object value, boolean nested)
         throws IllegalArgumentException {
      List<T> list = getDescendantsOfType(clazz, container, nested);
      return getComponentFromList(clazz, list, property, value);
   }
public static < T extends JComponent > T getDescendantOfType ( Class < T > clazz , Container container , String property , Object value , boolean nested ) throws IllegalArgumentException { List < T > list = getDescendantsOfType ( clazz , container , nested ) ; return getComponentFromList ( clazz , list , property , value ) ; }
Convenience method that searches below <code>container</code> in the
component hierarchy and returns the first found component that is an
instance of class <code>clazz</code> and has the bound property value.
Returns {@code null} if such component cannot be found.

@param clazz the class of component whose instance to be found.
@param container the container at which to begin the search
@param property the className of the bound property, exactly as expressed in
the accessor e.g. "Text" for getText(), "Value" for getValue().
@param value the value of the bound property
@param nested true to list components nested within another component
which is also an instance of <code>clazz</code>, false otherwise
@return the component, or null if no such component exists in the
container
@throws IllegalArgumentException if the bound property does
not exist for the class or cannot be accessed
Convenience method that searches below <code > container< / code > in the component hierarchy and returns the first found component that is an instance of class <code > clazz< / code > and has the bound property value . Returns { @code null } if such component cannot be found .