code: @Override
  	public PropertyDescriptor[] getPropertyDescriptors() {
  
  		List<PropertyDescriptor> proplist = new ArrayList<>();
  
  		try {
  			proplist.add(new PropertyDescriptor("type", ELJavascriptBundleTag.class, null, "setTypeExpr"));
  		} catch (IntrospectionException ex) {
  		}
  		try {
  			proplist.add(new PropertyDescriptor("async", ELJavascriptBundleTag.class, null, "setAsync"));
  		} catch (IntrospectionException ex) {
  		}
  		try {
  			proplist.add(new PropertyDescriptor("defer", ELJavascriptBundleTag.class, null, "setDefer"));
  		} catch (IntrospectionException ex) {
  		}
  		try {
  			proplist.add(new PropertyDescriptor("src", ELJavascriptBundleTag.class, null, "setSrcExpr"));
  		} catch (IntrospectionException ex) {
  		}
  		try {
  			proplist.add(new PropertyDescriptor("useRandomParam", ELJavascriptBundleTag.class, null,
  					"setUseRandomParamExpr"));
  		} catch (IntrospectionException ex) {
  		}
  
  		PropertyDescriptor[] result = new PropertyDescriptor[proplist.size()];
  		return ((PropertyDescriptor[]) proplist.toArray(result));
  	}
docs: /*
  (non-Javadoc)
  
  @see java.beans.SimpleBeanInfo#getPropertyDescriptors()