code: private static boolean extendsSuperMetaModel(Element superClassElement, boolean entityMetaComplete, Context context) {
  		// if we processed the superclass in the same run we definitely need to extend
  		String superClassName = ( (TypeElement) superClassElement ).getQualifiedName().toString();
  		if ( context.containsMetaEntity( superClassName )
  				|| context.containsMetaEmbeddable( superClassName ) ) {
  			return true;
  		}
  
  		// to allow for the case that the metamodel class for the super entity is for example contained in another
  		// jar file we use reflection. However, we need to consider the fact that there is xml configuration
  		// and annotations should be ignored
  		if ( !entityMetaComplete && ( TypeUtils.containsAnnotation( superClassElement, Constants.ENTITY )
  				|| TypeUtils.containsAnnotation( superClassElement, Constants.MAPPED_SUPERCLASS ) ) ) {
  			return true;
  		}
  
  		return false;
  	}
docs: Checks whether this metamodel class needs to extend another metamodel class.
  This methods checks whether the processor has generated a metamodel class for the super class, but it also
  allows for the possibility that the metamodel class was generated in a previous compilation (eg it could be
  part of a separate jar. See also METAGEN-35).
  
  @param superClassElement the super class element
  @param entityMetaComplete flag indicating if the entity for which the metamodel should be generarted is metamodel
  complete. If so we cannot use reflection to decide whether we have to add the extend clause
  @param context the execution context
  
  @return {@code true} in case there is super class meta model to extend from {@code false} otherwise.