code: public void addParameter(ISUPParameter param) throws ParameterException {
          if (param == null) {
              throw new IllegalArgumentException("Argument must not be null");
          }
          int paramCode = param.getCode();
          if (this.mandatoryCodes.contains(paramCode)) {
              int index = this.mandatoryCodeToIndex.get(paramCode);
              this.f_Parameters.put(index, (AbstractISUPParameter) param);
              return;
          }
  
          if (this.mandatoryVariableCodes.contains(paramCode)) {
              int index = this.mandatoryVariableCodeToIndex.get(paramCode);
              this.v_Parameters.put(index, (AbstractISUPParameter) param);
              return;
          }
          if (this.optionalCodes.contains(paramCode)) {
              int index = this.optionalCodeToIndex.get(paramCode);
              this.o_Parameters.put(index, (AbstractISUPParameter) param);
              return;
          }
  
          throw new ParameterException("Parameter with code: " + paramCode
                  + " is not defined in any type: mandatory, mandatory variable or optional");
      }
docs: ////////////////////////