@Override
    public void visitMethod(Method obj) {
        Attribute[] attributes = obj.getAttributes();
        for (Attribute a : attributes) {
            if ("Signature".equals(a.getName())) {
                TemplateSignature ts = parseSignatureAttribute((Signature) a);
                if (ts != null) {
                    for (TemplateItem templateParm : ts.templateParameters) {
                        if (!ts.signature.contains(Values.SIG_GENERIC_TEMPLATE + templateParm.templateType + Values.SIG_QUALIFIED_CLASS_SUFFIX_CHAR)
                                && !isTemplateParent(templateParm.templateType, ts.templateParameters)) {
                            bugReporter.reportBug(new BugInstance(this, BugType.UMTP_UNBOUND_METHOD_TEMPLATE_PARAMETER.name(), NORMAL_PRIORITY).addClass(this)
                                    .addMethod(this).addString("Template Parameter: " + templateParm.templateType));
                            return;
                        }
                    }
                }
                return;
            }
        }
    }
@ Override public void visitMethod ( Method obj ) { Attribute [ ] attributes = obj . getAttributes ( ) ; for ( Attribute a : attributes ) { if ( "Signature" . equals ( a . getName ( ) ) ) { TemplateSignature ts = parseSignatureAttribute ( ( Signature ) a ) ; if ( ts != null ) { for ( TemplateItem templateParm : ts . templateParameters ) { if ( ! ts . signature . contains ( Values . SIG_GENERIC_TEMPLATE + templateParm . templateType + Values . SIG_QUALIFIED_CLASS_SUFFIX_CHAR ) && ! isTemplateParent ( templateParm . templateType , ts . templateParameters ) ) { bugReporter . reportBug ( new BugInstance ( this , BugType . UMTP_UNBOUND_METHOD_TEMPLATE_PARAMETER . name ( ) , NORMAL_PRIORITY ) . addClass ( this ) . addMethod ( this ) . addString ( "Template Parameter: " + templateParm . templateType ) ) ; return ; } } } return ; } } }
implements the visitor to find methods that declare template parameters that are not bound to any parameter.

@param obj
the context object of the currently parsed method