public function setShape($value, $replace = true)
    {
        $name = 'shapes';
        if (!(is_array($value) || is_string($value))) {
            throw new CPS_Exception(array(array('long_message' => 'Invalid request parameter', 'code' => ERROR_CODE_INVALID_PARAMETER, 'level' => 'REJECTED', 'source' => 'CPS_API')));
        }
        if ($replace) {
            $this->_setRawParam($name, $value);
        } else {
            $exParam = $this->_getRawParam($name);
            if (!is_array($exParam)) {
                $exParam = array($exParam);
            }
            if (is_array($value)) {
                foreach($value as $val){
                    $exParam[] = $val;
                }
            } else if (is_string($value)) {
                $exParam[] = $value;
            }
            $this->_setRawParam($name, $exParam);
        }
    }