sclass ModifiedWebRequest implements IWebRequest { IWebRequest originalRequest; // any non-null field will override original value S uri; SS params; SS headers; SS files; S cookie; *(IWebRequest *originalRequest) {} public S uri() { ret uri != null ? uri : originalRequest.uri(); } public SS params() { ret params != null ? params : originalRequest.params(); } public SS headers() { ret headers != null ? headers : originalRequest.headers(); } public SS files() { ret files != null ? files : originalRequest.files(); } public S cookie() { ret cookie != null ? cookie : originalRequest.cookie(); } public bool isHttps() { ret originalRequest.isHttps(); } }