次のように変数を設定するためのヘルパー メソッドを使用して、いくつかのカスタム例外を作成しようとしています。
public class KeyException extends RuntimeException {
    protected String Id;
    protected KeyException(String message) {
        super(message);
    }
    protected KeyException(String message, Throwable cause) {
        super(message, cause);
    }
    public String getId() {
        return keyId;
    }
    public KeyException withId(final String Id) {
        this.Id = Id;
        return this;
    }
}
ただし、派生クラスでは、基本クラスのみを返すため、「withId」メソッドを使用できません。すべての派生クラスでメソッドをオーバーライドすることなく、「this」ポインターを返す方法はありますか?