1717
1818package org .openqa .selenium .remote ;
1919
20+ import static java .util .Collections .unmodifiableMap ;
21+ import static java .util .Objects .requireNonNull ;
2022import static org .openqa .selenium .remote .CapabilityType .ACCEPT_INSECURE_CERTS ;
2123import static org .openqa .selenium .remote .CapabilityType .BROWSER_VERSION ;
2224import static org .openqa .selenium .remote .CapabilityType .ENABLE_DOWNLOADS ;
3436import java .util .Set ;
3537import java .util .TreeMap ;
3638import java .util .TreeSet ;
37- import org .jspecify .annotations .NonNull ;
3839import org .jspecify .annotations .Nullable ;
3940import org .openqa .selenium .MutableCapabilities ;
4041import org .openqa .selenium .PageLoadStrategy ;
@@ -58,23 +59,23 @@ public DO setImplicitWaitTimeout(Duration timeout) {
5859 Map <String , Number > timeouts = getTimeouts ();
5960 timeouts .put ("implicit" , timeout .toMillis ());
6061
61- setCapability (TIMEOUTS , Collections . unmodifiableMap (timeouts ));
62+ setCapability (TIMEOUTS , unmodifiableMap (timeouts ));
6263 return self ();
6364 }
6465
6566 public DO setPageLoadTimeout (Duration timeout ) {
6667 Map <String , Number > timeouts = getTimeouts ();
6768 timeouts .put ("pageLoad" , timeout .toMillis ());
6869
69- setCapability (TIMEOUTS , Collections . unmodifiableMap (timeouts ));
70+ setCapability (TIMEOUTS , unmodifiableMap (timeouts ));
7071 return self ();
7172 }
7273
7374 public DO setScriptTimeout (Duration timeout ) {
7475 Map <String , Number > timeouts = getTimeouts ();
7576 timeouts .put ("script" , timeout .toMillis ());
7677
77- setCapability (TIMEOUTS , Collections . unmodifiableMap (timeouts ));
78+ setCapability (TIMEOUTS , unmodifiableMap (timeouts ));
7879 return self ();
7980 }
8081
@@ -109,7 +110,6 @@ public DO setEnableDownloads(boolean enableDownloads) {
109110 return self ();
110111 }
111112
112- @ NonNull
113113 @ SuppressWarnings ("unchecked" )
114114 private DO self () {
115115 return (DO ) this ;
@@ -125,7 +125,7 @@ public Set<String> getCapabilityNames() {
125125 protected abstract Set <String > getExtraCapabilityNames ();
126126
127127 @ Override
128- public Object getCapability (String capabilityName ) {
128+ public @ Nullable Object getCapability (String capabilityName ) {
129129 Require .nonNull ("Capability name" , capabilityName );
130130
131131 if (getExtraCapabilityNames ().contains (capabilityName )) {
@@ -140,8 +140,9 @@ public Object getCapability(String capabilityName) {
140140 @ Override
141141 public Map <String , Object > asMap () {
142142 Map <String , Object > toReturn = new TreeMap <>(super .asMap ());
143- getExtraCapabilityNames ().forEach (name -> toReturn .put (name , getCapability (name )));
144- return Collections .unmodifiableMap (toReturn );
143+ getExtraCapabilityNames ()
144+ .forEach (name -> toReturn .put (name , requireNonNull (getCapability (name ))));
145+ return unmodifiableMap (toReturn );
145146 }
146147
147148 private Map <String , Number > getTimeouts () {
0 commit comments