code: protected boolean isValidImplementedType(String className) throws JavaModelException {
  		if (!Strings.isNullOrEmpty(className)) {
  			final IType rootType = getRootSuperInterface();
  			assert rootType != null;
  			final IType type = getJavaProject().findType(className);
  			assert type != null;
  			final ITypeHierarchy hierarchy = type.newSupertypeHierarchy(new NullProgressMonitor());
  			assert hierarchy != null;
  			if (!hierarchy.contains(rootType)) {
  				return false;
  			}
  		}
  		return true;
  	}
docs: Replies if the given type implements the expected super-interface.
  The expected super-interface is replied by {@link #getRootSuperInterface()}.
  
  @param className the name of the class to be tested.
  @return <code>true</code> if the given name implements a type
  of the expected root type.
  @throws JavaModelException if there is a problem for retreiving the Java information.