Tag.hasContent is added to allow tag to control compiler better