{
  "$comment": "Explicitly disallow these parameters when non-Directory type is detected.\nOtherwise, validate their schema definitions according to what is permitted.\n",
  "description": "Parameters that are only valid when 'type' or 'items' evaluates to 'Directory'.",
  "else": {
    "not": {
      "properties": {
        "loadListing": {}
      }
    },
    "x-jsonld-extra-terms": {
      "loadListing": "https://w3id.org/cwl/cwl#loadListing"
    }
  },
  "if": {
    "oneOf": [
      {
        "$comment": "Single required or optional 'Directory'.",
        "properties": {
          "type": {
            "enum": [
              "Directory",
              "Directory?",
              "Directory[]",
              "Directory[]?"
            ]
          }
        }
      },
      {
        "$comment": "Array of required or optional 'Directory'.",
        "items": {
          "oneOf": [
            {
              "type": "object",
              "enum": [
                "Directory",
                "Directory?"
              ]
            },
            {
              "contains": {
                "properties": {
                  "type": {
                    "enum": [
                      "Directory",
                      "Directory?"
                    ]
                  }
                }
              },
              "type": "array"
            }
          ]
        },
        "type": "array"
      }
    ]
  },
  "then": {
    "$ref": "https://ogcincubator.github.io/bblocks-cwl/build/annotated/cwl/v1_2_1/CWLDirectoryOnlyParameters/schema.json",
    "x-jsonld-extra-terms": {
      "loadListing": "https://w3id.org/cwl/cwl#loadListing"
    }
  },
  "type": "object",
  "x-jsonld-extra-terms": {
    "loadListing": "https://w3id.org/cwl/cwl#loadListing"
  },
  "x-jsonld-prefixes": {
    "cwl": "https://w3id.org/cwl/cwl#"
  }
}