code: @Override
      public Term convert(final XBELTerm source) {
          if (source == null) return null;
  
          // Set term function
          Function f = source.getFunction();
          FunctionEnum funcEnum = fromString(f.value());
  
          // Destination type
          Term dest = new Term(funcEnum);
  
          // Schema defines either a list of arg values or terms
          List<JAXBElement> prmtrms = source.getParameterOrTerm();
          final List<BELObject> args = new ArrayList<BELObject>();
  
          final ParameterConverter pConverter = new ParameterConverter();
          for (final JAXBElement el : prmtrms) {
              if (el instanceof XBELParameter) {
                  // Defer to ParameterConverter
                  args.add(pConverter.convert((XBELParameter) el));
              } else if (el instanceof XBELTerm) {
                  args.add(convert((XBELTerm) el));
              }
          }
  
          dest.setFunctionArguments(args);
  
          return dest;
      }
docs: {@inheritDoc}