private ArrayList<UsageInfo> filterUsages(ArrayList<? extends UsageInfo> usages) {
    ArrayList<UsageInfo> result = new ArrayList<>();

    for (UsageInfo usageInfo : usages) {
      if (!(usageInfo instanceof InheritanceToDelegationUsageInfo)) {
        continue;
      }
      if (usageInfo instanceof ObjectUpcastedUsageInfo) {
        continue;
      }

      if (!myIsDelegateOtherMembers) {
        final FieldAccessibility delegateFieldAccessible = ((InheritanceToDelegationUsageInfo)usageInfo).getDelegateFieldAccessible();
        if (!delegateFieldAccessible.isAccessible()) continue;
      }

      result.add(usageInfo);
    }
    return result;
  }
private ArrayList<UsageInfo> filterUsages(ArrayList<? extends UsageInfo> usages)