code: public static void setDynamicAttribute(StructImpl attributes, Collection.Key name, Object value, short caseType) {
  	if (name.equalsIgnoreCase(KeyConstants._attributecollection)) {
  	    if (value instanceof lucee.runtime.type.Collection) {
  		lucee.runtime.type.Collection coll = (lucee.runtime.type.Collection) value;
  		Iterator<Entry<Key, Object>> it = coll.entryIterator();
  		Entry<Key, Object> e;
  		while (it.hasNext()) {
  		    e = it.next();
  		    if (attributes.get(e.getKey(), null) == null) attributes.setEL(e.getKey(), e.getValue());
  		}
  		return;
  	    }
  	    else if (value instanceof Map) {
  
  		Map map = (Map) value;
  		Iterator it = map.entrySet().iterator();
  		Map.Entry entry;
  		Key key;
  		while (it.hasNext()) {
  		    entry = (Entry) it.next();
  		    key = Caster.toKey(entry.getKey(), null);
  		    if (!attributes.containsKey(key)) {
  			attributes.setEL(key, entry.getValue());
  		    }
  		}
  		return;
  	    }
  	}
  	if (LOWER_CASE == caseType) name = KeyImpl.init(name.getLowerString());
  	else if (UPPER_CASE == caseType) name = KeyImpl.init(name.getUpperString());
  	attributes.setEL(name, value);
      }
docs: /*
  private static TagLibTag getTLT(ConfigWeb config, Tag tag) { TagLib[] tlds =
  ((ConfigWebImpl)config).getTLDs();
  
  TagLibTag tlt; for(int i=0;i<tlds.length;i++){ tlt = tlds[i].getTag(tag.getClass());
  if(tlt!=null) return tlt; } return null; }