private List<ColumnConceptMappingDTO> checkRequiredMapping(final List<ColumnConceptMappingDTO> mappingList, final int verb)
          throws SitoolsException {
      
    final int nbConceptToMap = SimpleSpectralAccessProtocolLibrary.REQUIRED_UCD_CONCEPTS.size();
    int nbConcept = 0;
    final List<ColumnConceptMappingDTO> conceptToMap = new ArrayList<ColumnConceptMappingDTO>(mappingList);
    for (ColumnConceptMappingDTO mappingIter : mappingList) {
      final Concept concept = mappingIter.getConcept();
      final String ucdValue = concept.getPropertyFromName("ucd").getValue();
      if (Util.isNotEmpty(ucdValue) && SimpleSpectralAccessProtocolLibrary.REQUIRED_UCD_CONCEPTS.contains(ucdValue)) {
        nbConcept++;
      } else if (verb == 1) {
        conceptToMap.remove(mappingIter);
      }
    }
    if (nbConceptToMap != nbConcept) {
        
      final StringBuilder buffer = new StringBuilder("columns with ");
      for (ColumnConceptMappingDTO mappingIter : mappingList) {
        buffer.append(mappingIter.getConcept().getName()).append(" ");
      }
      buffer.append("must be mapped");
      throw new SitoolsException(buffer.toString());
    }

    return conceptToMap;

  }