code: public String processProcedureArgument(Properties attributes) throws XDocletException
      {
          String               id     = attributes.getProperty(ATTRIBUTE_NAME);
          ProcedureArgumentDef argDef = _curClassDef.getProcedureArgument(id);
          String               attrName;
          
          if (argDef == null)
          {    
              argDef = new ProcedureArgumentDef(id);
              _curClassDef.addProcedureArgument(argDef);
          }
  
          attributes.remove(ATTRIBUTE_NAME);
          for (Enumeration attrNames = attributes.propertyNames(); attrNames.hasMoreElements(); )
          {
              attrName = (String)attrNames.nextElement();
              argDef.setProperty(attrName, attributes.getProperty(attrName));
          }
          return "";
      }
docs: Processes a runtime procedure argument tag.
  
  @param template              The template
  @param attributes            The attributes of the tag
  @exception XDocletException  If an error occurs
  @doc.tag                     type="content"
  @doc.param                   name="attributes" optional="true" description="Attributes of the procedure as name-value pairs 'name=value',
  separated by commas"
  @doc.param                   name="documentation" optional="true" description="Documentation on the procedure"
  @doc.param                   name="field-ref" optional="true" description="Identifies the field that provides the value
  if a runtime argument; if not set, then null is used"
  @doc.param                   name="name" optional="false" description="The identifier of the argument tag"
  @doc.param                   name="return" optional="true" description="Whether this is a return value (if a runtime argument)"
  values="true,false"
  @doc.param                   name="value" optional="false" description="The value if a constant argument"