docs: public void processCollection(String template, Properties attributes) throws XDocletException
      {
          String                  name    = OjbMemberTagsHandler.getMemberName();
          CollectionDescriptorDef collDef = _curClassDef.getCollection(name);
          String                  attrName;
  
          if (collDef == null)
          {
              collDef = new CollectionDescriptorDef(name);
              _curClassDef.addCollection(collDef);
          }
          LogHelper.debug(false, OjbTagsHandler.class, "processCollection", "  Processing collection "+collDef.getName());
  
          for (Enumeration attrNames = attributes.propertyNames(); attrNames.hasMoreElements(); )
          {
              attrName = (String)attrNames.nextElement();
              collDef.setProperty(attrName, attributes.getProperty(attrName));
          }
          if (OjbMemberTagsHandler.getMemberDimension() > 0)
          {
              // we store the array-element type for later use
              collDef.setProperty(PropertyHelper.OJB_PROPERTY_ARRAY_ELEMENT_CLASS_REF,
                                  OjbMemberTagsHandler.getMemberType().getQualifiedName());
          }
          else
          {    
              collDef.setProperty(PropertyHelper.OJB_PROPERTY_VARIABLE_TYPE,
                                  OjbMemberTagsHandler.getMemberType().getQualifiedName());
          }
  
          _curCollectionDef = collDef;
          generate(template);
          _curCollectionDef = null;
      }