private static List<String> convertDbaList(
      List<izi_repository.domain.result.DBA> dbasResult,
      List<DBA> dbas,
      List<BBA> bbas,
      IdCounter id) {
    List<String> localBaRefs = new ArrayList<String>();

    if (dbasResult == null || dbas == null) {
      return localBaRefs;
    }

    for (izi_repository.domain.result.DBA dba : dbasResult) {
      List<String> loopBaRefs = new ArrayList<String>();

      if (dba.getDbas() != null && dba.getDbas().size() > 0) {
        loopBaRefs = convertDbaList(dba.getDbas(), dbas, bbas, id);
      } else if (dba.getBbas() != null && dba.getBbas().size() > 0) {
        loopBaRefs = convertBbaList(bbas, dba.getBbas(), id);
      }

      DBA dbaOut =
          ResultForOutputObjectConverter.convert(dba.getConnective(), id.toString(), loopBaRefs);

      dbas.add(dbaOut);
      localBaRefs.add(id.toString());
      id.increment();
    }

    return localBaRefs;
  }