private static void _checkPre(final HCPre aPre) {
   final IHCElement<?> aChild =
       HCUtils.recursiveGetFirstChildWithTagName(
           aPre,
           EHTMLElement.IMG,
           EHTMLElement.OBJECT,
           EHTMLElement.SMALL,
           EHTMLElement.SUB,
           EHTMLElement.SUP);
   if (aChild != null)
     consistencyWarning("PRE elements contains forbidden tag " + aChild.getElement());
 }
 private static void _checkButton(final HCButton aButton) {
   final IHCElement<?> aChild =
       HCUtils.recursiveGetFirstChildWithTagName(
           aButton,
           EHTMLElement.A,
           EHTMLElement.INPUT,
           EHTMLElement.SELECT,
           EHTMLElement.TEXTAREA,
           EHTMLElement.LABEL,
           EHTMLElement.BUTTON,
           EHTMLElement.FORM,
           EHTMLElement.FIELDSET,
           EHTMLElement.IFRAME);
   if (aChild != null)
     consistencyWarning("BUTTON element contains forbidden tag " + aChild.getElement());
 }
  public static void runConsistencyCheckBeforeCreation(
      @Nonnull final IHCElement<?> aElement, @Nonnull final EHTMLVersion eHTMLVersion) {
    final String sElementName = aElement.getTagName();
    final Class<?> aElementClass = aElement.getClass();

    // Deprecation is checked for all elements
    _checkDeprecation(aElementClass, sElementName, eHTMLVersion);

    // Special checks based on the implementation
    if (aElement instanceof HCA) _checkA((HCA) aElement);
    else if (aElement instanceof HCButton) _checkButton((HCButton) aElement);
    else if (aElement instanceof HCForm) _checkForm((HCForm) aElement);
    else if (aElement instanceof HCMeter) _checkMeter((HCMeter) aElement);
    else if (aElement instanceof HCObject) _checkObject((HCObject) aElement);
    else if (aElement instanceof HCPre) _checkPre((HCPre) aElement);
    else if (aElement instanceof HCProgress) _checkProgress((HCProgress) aElement);
    else if (aElement instanceof AbstractHCBaseTable<?>)
      _checkTable((AbstractHCBaseTable<?>) aElement);
  }