so we can avoid leakage on deleting panel 
For attribute error display
4522
function renderHelpText(text) {
      if (text) {
        if (!helpTextDiv) {
          helpTextDiv = document.createElement("div");
          helpTextDiv.className = 'col-sm-9 col-sm-offset-3 has-error';
          formGroup.appendChild(helpTextDiv);
        }
        helpTextDiv.innerHTML = '<span style="display: block;" class="help-block">' + text + '</span>';
        $(formGroup).addClass('has-error');
        if (inputGroupButton)
          $(inputGroupButton).addClass('btn-danger');
      } else {
        setTimeout(function () {
          if (helpTextDiv) {
            $(helpTextDiv).remove();
            helpTextDiv = null;
          }
        }, 250);
        $(formGroup).removeClass('has-error');
        if (inputGroupButton)
          $(inputGroupButton).removeClass('btn-danger');
      }
    }
841254
public void sessionAttributeRemoved(ISession session, Object name, Object value, Boolean oldIsBindingListener) {
        HttpSessionAttributeListener listener = null;
        HttpSessionBindingEvent event = null;
        HttpSession httpsession = (HttpSession) _adapter.adapt(session);

        event = new HttpSessionBindingEvent(httpsession, (String) name, value);
        // if (value instanceof HttpSessionBindingListener) {
        if (value != null && oldIsBindingListener.booleanValue()) {
            ((HttpSessionBindingListener) value).valueUnbound(event);
        }
        for (int i = 0; i < _sessionAttributeListeners.size(); i++) {
            listener = (HttpSessionAttributeListener) _sessionAttributeListeners.get(i);
            if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
                LoggingUtil.SESSION_LOGGER_CORE.logp(Level.FINE, methodClassName, "sessionAttributeRemoved", "SessionManager calling attributeRemoved on listener:" + listener);
            }
            listener.attributeRemoved(event);
        }

    }
1196661
private void _doLogicalClear() {
	    // Only use one orphan command per panel to avoid object creation.
	    if (orphanCommand == null) {
	        orphanCommand = new AttachDetachException.Command() {
    	        @Override
                public void execute(Widget w) {
    	            orphan(w);
    	        }
    	    };
	    }
	    try {
	        AttachDetachException.tryCommand(this, orphanCommand);
	    } finally {
	        children = new WidgetCollection(this);
	    }
	}
678290
function _deletePanel( oPanel ) {

		oPanel.setContent(null);
		oPanel.setLayout(null);
		oPanel.setContainer(null);
		oPanel.destroy();

	}
340427
public void delete_attribute_property(String attributeName, String[] propertyNames) throws DevFailed {
        database.delete_class_attribute_property(className, attributeName, propertyNames);
    }
275782
public function beforeDelete()
    {
        foreach ($this->attributes as $attr => $options) {
            $this->ensureAttributes($attr, $options);
            $this->deleteFiles($attr);
        }
    }
212397
private void validateDeleteAllowed(Attribute attr) {
    String attrIdentifier = attr.getIdentifier();
    if (systemEntityTypeRegistry.hasSystemAttribute(attrIdentifier)) {
      throw new SystemMetadataModificationException();
    }
  }
1286561
def delete_attr(self, name: str, axis: int = 0) -> None:
		
		deprecated("'delete_attr' is deprecated. Use 'del ds.ra.key' or 'del ds.ca.key' instead")
		if axis == 0:
			del self.ra[name]
		else:
			del self.ca[name]
100459
def clean_attribute(value)
        if value.kind_of?(Hash)
          value.delete_if { |key, value| clean_attribute(value) }.empty?
        elsif value.kind_of?(Array)
          value.delete_if { |value| clean_attribute(value) }.empty?
        else
          value.to_s.strip.empty?
        end
      end
134526
def restore_attribute!(attr_name)
        attr_name = attr_name.to_s
        if attribute_changed?(attr_name)
          __send__("#{attr_name}=", attribute_was(attr_name))
          clear_attribute_change(attr_name)
        end
      end
1268182
function removeBadFields(attrs){
	var badList = ['scores', 'table', 'headers'];
	for(var k in badList){
		if(attrs[badList[k]])
			delete attrs[badList[k]];
	}
}
473222
function getDefAttrVal(self, name) {
        var attrs = self.getAttrs(), attrConfig = ensureNonEmpty(attrs, name, 1), valFn = attrConfig.valueFn, val;
        if (valFn && (valFn = normalFn(self, valFn))) {
            val = valFn.call(self);
            if (val !== undefined) {
                attrConfig.value = val;
            }
            delete attrConfig.valueFn;
            attrs[name] = attrConfig;
        }
        return attrConfig.value;
    }
631886
public void setHidden(final boolean hidden) {
        if (hidden)
            attrMixin.setAttribute(HIDDEN, Boolean.toString(true));
        else
            attrMixin.removeAttribute(HIDDEN);
    }
1111725
public void delete_device_attribute_property(String devname, DbAttribute[] attr) throws DevFailed {
		databaseDAO.delete_device_attribute_property(this, devname, attr);
	}
1087823
public void delete_attribute_property(String attname, String propname) throws DevFailed {
        deviceProxyDAO.delete_attribute_property(this, attname, propname);
    }
783152
def check_box_input attribute, options = {}, &block
      panel = if block_given? || options.key?(:panel_id)
                panel_id = options.delete(:panel_id) { [attribute, 'panel'].join('_') }
                options.merge!('data-target': panel_id)
                revealing_panel(panel_id, flush: false, &block) if block_given?
              end

      checkbox = check_box_inputs([attribute], options).first + "\n"

      safe_concat([checkbox, panel].join)
    end
982196
@Override
    public void attributeReplaced(HttpSessionBindingEvent hse) {
        Object possibleClient = hse.getValue();
        closeClient(possibleClient);
    }