Currently, we fail preconditions for source methods that have multiple viable targets (see edu.cuny.citytech.defaultrefactoring.core.refactorings.MigrateSkeletalImplementationToInterfaceRefactoringProcessor.checkCandidateDestinationInterfaces(IMethod, Optional<IProgressMonitor>). Deciding the true target may require:
- Asking for user intervention (not so desirable).
- Applying heuristics (but which ones?)
- Using machine learning (but how?)