<p>Remove the type parameter <code>T</code> from <code>Popup<T> extends Overlay<Popup></code>, as it appears to have never been used or set anywhere in the code. (This mainly involves replacing a lot of <code>new Popup<></code> occurrences, which was done entirely automatically by the IDE.)</p>
<p>I guess the original purpose of the type parameter was to allow different kinds of popup, all extending the same class, e.g. <code>Foo extends Popup<Foo> extends Overlay<Foo></code>. However, due to the fluent interface of <code>Overlay</code>, this wouldn't be entirely type safe as long as <code>Popup</code> has a public constructor and standalone instances of it can be created. For example,</p>
<blockquote>
<p><code>Foo foo = new Popup<Foo>().headline("foo");</code></p>
</blockquote>
<p>would typecheck fine but throw a <code>ClassCastException</code> at runtime, when it tries to assign the underived <code>Popup</code> instance to <code>foo</code>. (In more complex cases this could cause heap pollution.)</p>
<p>If different popup subclasses are later required, it would probably be better to define an abstract base class but keep all the concrete subclasses non-generic, e.g. <code>BasePopup<T extends BasePopup<T>> extends Overlay<T></code>, similar to the <code>TabbedOverlay</code> class.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/bisq-network/bisq/pull/3651'>https://github.com/bisq-network/bisq/pull/3651</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Un-generify Popup class</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-0">desktop/src/main/java/bisq/desktop/app/BisqApp.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-1">desktop/src/main/java/bisq/desktop/components/AddressTextField.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-2">desktop/src/main/java/bisq/desktop/components/paymentmethods/AssetsForm.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-3">desktop/src/main/java/bisq/desktop/components/paymentmethods/PaymentMethodForm.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-4">desktop/src/main/java/bisq/desktop/main/MainView.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-5">desktop/src/main/java/bisq/desktop/main/MainViewModel.java</a>
    (38)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-6">desktop/src/main/java/bisq/desktop/main/account/AccountView.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-7">desktop/src/main/java/bisq/desktop/main/account/content/PaymentAccountsView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-8">desktop/src/main/java/bisq/desktop/main/account/content/altcoinaccounts/AltCoinAccountsView.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-9">desktop/src/main/java/bisq/desktop/main/account/content/backup/BackupView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-10">desktop/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java</a>
    (20)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-11">desktop/src/main/java/bisq/desktop/main/account/content/notifications/MobileNotificationsView.java</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-12">desktop/src/main/java/bisq/desktop/main/account/content/password/PasswordView.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-13">desktop/src/main/java/bisq/desktop/main/account/content/seedwords/SeedWordsView.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-14">desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationView.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-15">desktop/src/main/java/bisq/desktop/main/dao/DaoView.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-16">desktop/src/main/java/bisq/desktop/main/dao/bonding/BondingViewUtils.java</a>
    (18)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-17">desktop/src/main/java/bisq/desktop/main/dao/burnbsq/assetfee/AssetFeeView.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-18">desktop/src/main/java/bisq/desktop/main/dao/burnbsq/proofofburn/ProofOfBurnView.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-19">desktop/src/main/java/bisq/desktop/main/dao/governance/make/MakeProposalView.java</a>
    (20)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-20">desktop/src/main/java/bisq/desktop/main/dao/governance/proposals/ProposalsView.java</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-21">desktop/src/main/java/bisq/desktop/main/dao/governance/result/VoteResultView.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-22">desktop/src/main/java/bisq/desktop/main/dao/monitor/StateMonitorView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-23">desktop/src/main/java/bisq/desktop/main/dao/monitor/daostate/DaoStateMonitorView.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-24">desktop/src/main/java/bisq/desktop/main/dao/wallet/send/BsqSendView.java</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-25">desktop/src/main/java/bisq/desktop/main/funds/deposit/DepositView.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-26">desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionsView.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-27">desktop/src/main/java/bisq/desktop/main/funds/withdrawal/WithdrawalView.java</a>
    (26)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-28">desktop/src/main/java/bisq/desktop/main/market/MarketView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-29">desktop/src/main/java/bisq/desktop/main/market/spread/SpreadViewModel.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-30">desktop/src/main/java/bisq/desktop/main/offer/MutableOfferView.java</a>
    (18)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-31">desktop/src/main/java/bisq/desktop/main/offer/MutableOfferViewModel.java</a>
    (20)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-32">desktop/src/main/java/bisq/desktop/main/offer/OfferView.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-33">desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java</a>
    (30)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-34">desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferDataModel.java</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-35">desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferView.java</a>
    (24)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-36">desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferViewModel.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-37">desktop/src/main/java/bisq/desktop/main/overlays/popups/Popup.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-38">desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-39">desktop/src/main/java/bisq/desktop/main/overlays/windows/EmptyWalletWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-40">desktop/src/main/java/bisq/desktop/main/overlays/windows/FilterWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-41">desktop/src/main/java/bisq/desktop/main/overlays/windows/ManualPayoutTxWindow.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-42">desktop/src/main/java/bisq/desktop/main/overlays/windows/SendAlertMessageWindow.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-43">desktop/src/main/java/bisq/desktop/main/overlays/windows/SendPrivateNotificationWindow.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-44">desktop/src/main/java/bisq/desktop/main/overlays/windows/SignPaymentAccountsWindow.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-45">desktop/src/main/java/bisq/desktop/main/overlays/windows/TorNetworkSettingsWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-46">desktop/src/main/java/bisq/desktop/main/overlays/windows/UnlockDisputeAgentRegistrationWindow.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-47">desktop/src/main/java/bisq/desktop/main/overlays/windows/WalletPasswordWindow.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-48">desktop/src/main/java/bisq/desktop/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-49">desktop/src/main/java/bisq/desktop/main/portfolio/editoffer/EditOfferView.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-50">desktop/src/main/java/bisq/desktop/main/portfolio/openoffer/OpenOffersView.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-51">desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesDataModel.java</a>
    (16)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-52">desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-53">desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-54">desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep2View.java</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-55">desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java</a>
    (16)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-56">desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/seller/SellerStep3View.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-57">desktop/src/main/java/bisq/desktop/main/presentation/AccountPresentation.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-58">desktop/src/main/java/bisq/desktop/main/settings/network/NetworkSettingsView.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-59">desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java</a>
    (22)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-60">desktop/src/main/java/bisq/desktop/main/shared/ChatView.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-61">desktop/src/main/java/bisq/desktop/main/support/SupportView.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-62">desktop/src/main/java/bisq/desktop/main/support/dispute/DisputeView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3651/files#diff-63">desktop/src/main/java/bisq/desktop/util/GUIUtil.java</a>
    (44)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/bisq-network/bisq/pull/3651.patch'>https://github.com/bisq-network/bisq/pull/3651.patch</a></li>
  <li><a href='https://github.com/bisq-network/bisq/pull/3651.diff'>https://github.com/bisq-network/bisq/pull/3651.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/bisq-network/bisq/pull/3651?email_source=notifications&email_token=AJFFTNRPPSNS22H5QY3DDBTQUXYKTA5CNFSM4JP4CSX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H27EZKQ">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJFFTNRGPMEDGJXNFTKWMODQUXYKTANCNFSM4JP4CSXQ">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AJFFTNXJQOOND6M5GJTD3NDQUXYKTA5CNFSM4JP4CSX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H27EZKQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/bisq-network/bisq/pull/3651?email_source=notifications\u0026email_token=AJFFTNRPPSNS22H5QY3DDBTQUXYKTA5CNFSM4JP4CSX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H27EZKQ",
"url": "https://github.com/bisq-network/bisq/pull/3651?email_source=notifications\u0026email_token=AJFFTNRPPSNS22H5QY3DDBTQUXYKTA5CNFSM4JP4CSX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H27EZKQ",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>