src/test/java/ucar/geoapi/ContentVerifier.java
private static Class<?> specialized(final Class<?> baseType, Class<?> implementation) {
        do {
            for (final Class<?> s : implementation.getInterfaces()) {
                if (baseType.isAssignableFrom(s) && s.isAnnotationPresent(UML.class)) {
                    return s;
                }
            }
            implementation = implementation.getSuperclass();
        } while (implementation != null);
        return baseType;
    }
/**
     * Returns the sub-interfaces implemented by the given implementation class. For example is a property type
     * is {@code CoordinateReferenceSystem}, a given instance could implement the {@code GeographicCRS} subtype.
     *
     * @param  baseType        the property type.
     * @param  implementation  the class which may implement a specialized type.
     * @return the given type or one of its subtypes implemented by the given class.
     */
Returns the sub-interfaces implemented by the given implementation class. For example is a property type
is  CoordinateReferenceSystem, a given instance could implement the  GeographicCRS subtype.

@param  baseType        the property type.
@param  implementation  the class which may implement a specialized type.
@return the given type or one of its subtypes implemented by the given class.
Returns the sub - interfaces implemented by the given implementation class . For example is a property type is CoordinateReferenceSystem a given instance could implement the GeographicCRS subtype . @param baseType the property type . @param implementation the class which may implement a specialized type . @return the given type or one of its subtypes implemented by the given class .
private static Class<?> specialized(final Class<?> baseType, Class<?> implementation) {
        do {
            for (final Class<?> s : implementation.getInterfaces()) {
                if (baseType.isAssignableFrom(s) && s.isAnnotationPresent(UML.class)) {
                    return s;
                }
            }
            implementation = implementation.getSuperclass();
        } while (implementation != null);
        return baseType;
    }
private static Class < ? > specialized ( final Class < ? > baseType , Class < ? > implementation ) { do { for ( final Class < ? > s : implementation . getInterfaces ( ) ) { if ( baseType . isAssignableFrom ( s ) && s . isAnnotationPresent ( UML . class ) ) { return s ; } } implementation = implementation . getSuperclass ( ) ; } while ( implementation != null ) ; return baseType ; }
Returns the sub-interfaces implemented by the given implementation class.
Returns the sub - interfaces implemented by the given implementation class .