private String buildGuidingsInformation(final Collection<PhdParticipant> guidings) {
    final StringBuilder result = new StringBuilder();
    List<PhdParticipant> guidingsList = new ArrayList<>(guidings);
    for (int i = 0; i < guidingsList.size(); i++) {
      final PhdParticipant guiding = guidingsList.get(i);
      result.append(guiding.getNameWithTitle());
      if (i == guidings.size() - 2) {
        result.append(" ").append(getMessageFromResource("label.and")).append(" ");
      } else {
        result.append(", ");
      }
    }

    if (result.length() > 0) {
      if (result.toString().endsWith(getMessageFromResource("label.and"))) {
        return result.substring(0, result.length() - getMessageFromResource("label.and").length());
      }

      if (result.toString().endsWith(", ")) {
        return result.substring(0, result.length() - 2);
      }
    }

    return result.toString();
  }