code: private void populateApplicationWithNumber(Application application, final Map<String, Object> map, String field_prefix) {
          // first create the number
          ApplicationNumberSummary number = new ApplicationNumberSummary(
                  readString(map.get(field_prefix + "sid")),
                  readString(map.get(field_prefix + "friendly_name")),
                  readString(map.get(field_prefix + "phone_number")),
                  readString(map.get(field_prefix + "voice_application_sid")),
                  readString(map.get(field_prefix + "sms_application_sid")),
                  readString(map.get(field_prefix + "ussd_application_sid")),
                  readString(map.get(field_prefix + "refer_application_sid"))
          );
          List<ApplicationNumberSummary> numbers = application.getNumbers();
          if (numbers == null) {
              numbers = new ArrayList<ApplicationNumberSummary>();
              application.setNumbers(numbers);
          }
          numbers.add(number);
      }
docs: Populates application.numbers field with information of one or more numbers. The 'numbers' list is created if
  already null and an IncomingPhoneNumber is added into it based on information from the map. Invoking the same method
  several times to add more numbers to the same list is possible.
  
  @param application
  @param map
  @param field_prefix
  @return