public SampleRequester getSampleRequesterByType(Requester type, boolean createIfNotFound) {
    if (requesters == null) {
      buildRequesters();
    }

    for (SampleRequester requester : requesters) {
      if (requester.getRequesterTypeId() == type.getId()) {
        return requester;
      }
    }

    // reachable only if existing requester not found
    if (createIfNotFound) {
      SampleRequester newRequester = new SampleRequester();
      newRequester.setRequesterTypeId(type.getId());
      newRequester.setSampleId(Long.parseLong(sampleId));

      return newRequester;
    }

    return null;
  }