code: @Override
      public List<SemanticWarning> checkAbundanceSubsets(final Term term) {
          final FunctionEnum fe = term.getFunctionEnum();
          if (fe != PROTEIN_ABUNDANCE && fe != GENE_ABUNDANCE
                  && fe != RNA_ABUNDANCE) {
              return emptyList();
          }
  
          List<Term> nestedTerms = term.getTerms();
          if (noItems(nestedTerms)) {
              return emptyList();
          }
  
          List<SemanticWarning> ret = new ArrayList<SemanticWarning>();
          switch (fe) {
          case GENE_ABUNDANCE:
          case RNA_ABUNDANCE:
              for (final Term nestedTerm : nestedTerms) {
                  if (nestedTerm.getFunctionEnum() == FUSION) {
                      ret.addAll(checkPFusion(nestedTerm));
                  }
              }
              break;
          case PROTEIN_ABUNDANCE:
              for (final Term nestedTerm : nestedTerms) {
                  if (!nestedTerm.getFunctionEnum().isProteinDecorator()) {
                      continue;
                  }
                  ret.addAll(checkAbundanceSubset(nestedTerm));
              }
              break;
          default:
              break;
          }
          return ret;
      }
docs: {@inheritDoc}