internal override SchemaElement Clone(SchemaElement parentElement)
 {
     Parameter parameter = new Parameter((Function)parentElement);
     parameter._collectionKind = _collectionKind;
     parameter._parameterDirection = _parameterDirection;
     parameter._type = _type;
     parameter.Name = this.Name;
     parameter._typeUsageBuilder = this._typeUsageBuilder;
     return parameter;
 }
        /// <summary>
        /// Handler for the Parameter Element
        /// </summary>
        /// <param name="reader">xml reader currently positioned at Parameter Element</param>
        protected void HandleParameterElement(XmlReader reader)
        {
            Debug.Assert(reader != null);

            Parameter parameter = new Parameter(this);

            parameter.Parse(reader);

            Parameters.Add(parameter, true, Strings.ParameterNameAlreadyDefinedDuplicate);
        }