code: public void addInput( String fieldName, String type, String description, String defaultValue, String uiHint ) {
          if (fieldName == null) {
              throw new IllegalArgumentException("field name is mandatory");
          }
          if (type == null) {
              throw new IllegalArgumentException("field type is mandatory");
          }
          if (description == null) {
              description = "No description available";
          }
  
          FieldData fieldData = new FieldData();
          fieldData.isIn = true;
          fieldData.fieldName = fieldName;
          fieldData.fieldType = type;
          fieldData.fieldDescription = description;
          fieldData.fieldValue = defaultValue;
          fieldData.guiHints = uiHint;
  
          if (!inputsList.contains(fieldData)) {
              inputsList.add(fieldData);
          } else {
              throw new IllegalArgumentException("Duplicated field: " + fieldName);
          }
      }
docs: Adds an input field to the module.
  
  @param fieldName the name of the field (accessed through reflection).
  @param type the chanonical name of the class of the field.
  @param description a description of the field.
  @param defaultValue a default value or <code>null</code>.
  @param uiHint