IExportedPreferences prefs;
prefs = service.readPreferences(fis);
PreferenceTransferElement[] transfers = super.getTransfers();
IPreferenceFilter[] filters = new IPreferenceFilter[transfers.length];
for (int i = 0; i < transfers.length; i++) {
PreferenceTransferElement transfer = transfers[i];
filters[i] = transfer.getFilter();
}
IPreferenceFilter[] matches = service.matches(prefs, filters);
PreferenceTransferElement[] returnTransfers = new PreferenceTransferElement[matches.length];
int index = 0;
for (int i = 0; i < matches.length; i++) {
IPreferenceFilter filter = matches[i];
for (int j = 0; j < transfers.length; j++) {
PreferenceTransferElement element = transfers[j];
if (element.getFilter().equals(filter)) {
returnTransfers[index++] = element;
}
}
}