public override bool operationNameMatches(String name)
    {
        ModelElementNameGenerator nameGenerator = CoreModelElementNameGeneratorImpl.getInstance();

        return(nameGenerator.operationNameMatches(nameGenerator.generateNameForOperation(
                                                      this.name, this.paramTypes), name));
    }
        public CoreModelElement addDefinedOperation(
            string source,
            string name,
            List <object> paramNames,
            List <object> paramTypes,
            CoreClassifier returnType)
        {
            CoreFeature element = createOclDefinedOperation(source, name, paramNames, paramTypes, returnType);

            element.setFeatureOwner(classifier);
            element.setElemOwner(classifier);
            ModelElementNameGenerator nameGenerator = CoreModelElementNameGeneratorImpl.getInstance();

            string mangledName = nameGenerator.generateNameForOperation(name, paramTypes);

            this.definedFeatures.Add(mangledName, element);
            addElementToDefinedFeaturesBySource(source, element);

            return(element);
        }