private String customerToOutput(Customer c) {
    StringBuilder sb = new StringBuilder();
    sb.append("  " + c.getId())
        .append(" : ")
        .append(c.getFirstName())
        .append(" , ")
        .append(c.getLastName())
        .append(" - ")
        .append(c.getMarketingAllowed());
    if (c.getPhoneNumbers().size() > 0) {
      sb.append("\n     ").append("Phone Numbers:");
      for (PhoneNumber phoneNumber : c.getPhoneNumbers()) {
        sb.append("\n          ")
            .append(phoneNumber.getId())
            .append(" : ")
            .append(phoneNumber.getPhoneNumber());
      }
    }

    if (c.getEmailAddresses().size() > 0) {
      sb.append("\n     ").append("Email Addresses:");
      for (EmailAddress emailAddress : c.getEmailAddresses()) {
        sb.append("\n          ")
            .append(emailAddress.getId())
            .append(" : ")
            .append(emailAddress.getEmailAddress());
      }
    }

    if (c.getAddresses().size() > 0) {
      sb.append("\n     ").append("Addresses:");
      for (Address address : c.getAddresses()) {
        sb.append("\n          ")
            .append(address.getId())
            .append(" : ")
            .append(address.getAddress1())
            .append(" , ")
            .append(address.getAddress2())
            .append(" , ")
            .append(address.getCity())
            .append(" , ")
            .append(address.getState())
            .append(" , ")
            .append(address.getZip());
      }
    }
    return sb.toString();
  }