private static List<MapquestResult.Result> filterResults(
      final Address address, final MapquestResult results) {
    final List<MapquestResult.Result> filtered = new ArrayList<MapquestResult.Result>();
    for (int i = 0; i < results.getNumberResults(); i++) {
      final MapquestResult.Result result = results.getResults(i);
      filtered.add(result);
    }

    filterBadAddresses(address, filtered);
    onlyKeepCenterOfStreetsOrAddresses(filtered);

    return filtered;
  }
 public void write(
     final Address address, final MapquestResult result, final Status rejectCause) {
   if (result == null) {
     write(address, null, null, rejectCause);
   } else {
     for (MapquestResult.Result r : filterResults(address, result)) {
       write(address, result.getMapquestStatus(), r, rejectCause);
     }
   }
 }