
interface Processor<T> {

  void process(T t);
}

class MySymbol<T extends String> {

  void processSameSymbols(Processor<MySymbol> processor) {}

  T locateDefinition() {
    return (T) "";
  }

  void findUsages(MySymbol s) {
    s.processSameSymbols(symbol -> {
      String definition = symbol.<error descr="Cannot resolve method 'locateDefinition' in 'Object'">locateDefinition</error>();
    });
  }
}
