class LegacyInjectionDetector extends BasicInjectionDetector {

    protected LegacyInjectionDetector(BugReporter bugReporter) {
        super(bugReporter);
    }

    @Override
    protected InjectionPoint getInjectionPoint(InvokeInstruction invoke, ConstantPoolGen cpg,
            InstructionHandle handle) {<FILL_FUNCTION_BODY>}

    public abstract InjectionSource[] getInjectionSource();
}

        InjectionPoint injectionPoint = null;
        for (InjectionSource source : getInjectionSource()) {
            injectionPoint = source.getInjectableParameters(invoke, cpg, handle);
            if (injectionPoint != InjectionPoint.NONE) {
                break;
            }
        }
        if (injectionPoint == null || injectionPoint == InjectionPoint.NONE) {
            injectionPoint = super.getInjectionPoint(invoke, cpg, handle);
        }
        return injectionPoint;
    
<methods>public void registerVisitor(com.h3xstream.findsecbugs.taintanalysis.TaintFrameAdditionalVisitor) <variables>static com.h3xstream.findsecbugs.injection.ClassMethodSignature OBJECT,private static final com.h3xstream.findsecbugs.injection.SinksLoader SINKS_LOADER,private final Map<com.h3xstream.findsecbugs.injection.ClassMethodSignature,com.h3xstream.findsecbugs.injection.InjectionPoint> injectionMap