public class K {
    void kkkk(){}
}

class KImpl extends K {}

abstract class InspectionToolWrapper<T extends K> {
    T myTool;

    protected InspectionToolWrapper(T tool) {
        myTool = tool;
    }

    public T getTool() {
        return myTool;
    }
}

class CommonInspectionToolWrapper extends InspectionToolWrapper<KImpl>{
    protected CommonInspectionToolWrapper(KImpl tool) {
        super(tool);
    }

    <caret>
}