public function dataLoad()
    {
        $paramName = $this->__get('DataPath');
        $paramName = array_pop($paramName);

        $this->contextDataExists = false;
        $this->contextDataValue  = null;

        if ($paramName === \SwaggerValidator\Common\FactorySwagger::LOCATION_BODY && $this->getType() === self::TYPE_REQUEST) {
            return $this->loadRequestBody();
        }
        elseif ($paramName === \SwaggerValidator\Common\FactorySwagger::LOCATION_BODY && $this->getType() === self::TYPE_RESPONSE) {
            return $this->loadResponseBody();
        }
        elseif ($this->getType() === self::TYPE_REQUEST && $this->getLocation() === \SwaggerValidator\Common\FactorySwagger::LOCATION_HEADER) {
            return $this->loadRequestHeader($paramName);
        }
        elseif ($this->getType() === self::TYPE_RESPONSE && $this->getLocation() === \SwaggerValidator\Common\FactorySwagger::LOCATION_HEADER) {
            return $this->loadResponseHeader($paramName);
        }
        elseif ($this->getType() === self::TYPE_REQUEST && $this->getLocation() === \SwaggerValidator\Common\FactorySwagger::LOCATION_FORM) {
            return $this->loadRequestFormData($paramName);
        }
        elseif ($this->getType() === self::TYPE_REQUEST && $this->getLocation() === \SwaggerValidator\Common\FactorySwagger::LOCATION_PATH) {
            return $this->loadRequestPath($paramName);
        }
        elseif ($this->getType() === self::TYPE_REQUEST && $this->getLocation() === \SwaggerValidator\Common\FactorySwagger::LOCATION_QUERY) {
            return $this->loadRequestQuery($paramName);
        }
        elseif ($this->getLocation() === \SwaggerValidator\Common\FactorySwagger::LOCATION_BODY && !$this->checkIsEmpty($this->getDataValue())) {
            if (is_array($this->getDataValue()) && array_key_exists($paramName, $this->getDataValue())) {
                $this->contextDataExists = true;
                $value                   = $this->getDataValue();
                $this->contextDataValue  = $value[$paramName];
            }
            elseif (is_object($this->getDataValue()) && property_exists($this->getDataValue(), $paramName)) {
                $this->contextDataExists = true;
                $this->contextDataValue  = $this->getDataValue()->$paramName;
            }
        }

        return $this->checkDataIsEmpty();
    }