private Collection<ServiceEndpointCandidate> parseStringStream(Stream<String> input) {
   Collection<ServiceEndpointCandidate> uris = new ArrayList<>();
   input.forEach(
       record -> {
         final String[] parts = record.split(" ");
         URI uri = UriBuilder.fromUri(uriFromParts(parts)).build();
         if (UriHelper.isValidUrl(uri)) {
           if (parts.length > SERVICE_LIST_MIN_PARTS_LENGTH) {
             ServiceListRecordType recordType = recordTypeFromParts(parts);
             if (recordType != ServiceListRecordType.UNKNOWN_RECORD) {
               uris.add(new ServiceEndpointCandidate(recordType.getApiType(), uri));
             }
           } else {
             uris.add(new ServiceEndpointCandidate(ServiceType.PSME_SERVICE, uri));
           }
         }
       });
   return uris;
 }
 private ServiceListRecordType recordTypeFromParts(String[] parts) {
   String typePart = parts[SERVICE_LIST_TYPE_POSITION];
   return ServiceListRecordType.fromString(typePart.toLowerCase());
 }