public void dump(Printer pw, String prefix) {
   if (filter != null) {
     pw.println(prefix + "Filter:");
     filter.dump(pw, prefix + "  ");
   }
   pw.println(
       prefix
           + "priority="
           + priority
           + " preferredOrder="
           + preferredOrder
           + " match=0x"
           + Integer.toHexString(match)
           + " specificIndex="
           + specificIndex
           + " isDefault="
           + isDefault);
   if (resolvePackageName != null) {
     pw.println(prefix + "resolvePackageName=" + resolvePackageName);
   }
   if (labelRes != 0 || nonLocalizedLabel != null || icon != 0) {
     pw.println(
         prefix
             + "labelRes=0x"
             + Integer.toHexString(labelRes)
             + " nonLocalizedLabel="
             + nonLocalizedLabel
             + " icon=0x"
             + Integer.toHexString(icon));
   }
   if (activityInfo != null) {
     pw.println(prefix + "ActivityInfo:");
     activityInfo.dump(pw, prefix + "  ");
   } else if (serviceInfo != null) {
     pw.println(prefix + "ServiceInfo:");
     serviceInfo.dump(pw, prefix + "  ");
   } else if (providerInfo != null) {
     pw.println(prefix + "ProviderInfo:");
     providerInfo.dump(pw, prefix + "  ");
   }
 }