public static void change(TypeMigrationLabeler labeler, UsageInfo[] usages) {
   List<UsageInfo> nonCodeUsages = new ArrayList<UsageInfo>();
   for (UsageInfo usage : usages) {
     if (((TypeMigrationUsageInfo) usage).isExcluded()) continue;
     final PsiElement element = usage.getElement();
     if (element instanceof PsiVariable
         || element instanceof PsiMember
         || element instanceof PsiExpression
         || element instanceof PsiReferenceParameterList) {
       labeler.change((TypeMigrationUsageInfo) usage);
     } else {
       nonCodeUsages.add(usage);
     }
   }
   for (UsageInfo usageInfo : nonCodeUsages) {
     final PsiElement element = usageInfo.getElement();
     if (element != null) {
       final PsiReference reference = element.getReference();
       if (reference != null) {
         final Object target = labeler.getConversion(element);
         if (target instanceof PsiMember) {
           try {
             reference.bindToElement((PsiElement) target);
           } catch (IncorrectOperationException e) {
             // skip
           }
         }
       }
     }
   }
 }