Scheme implements Comparable<Scheme> { @Nullable public static Scheme tryParse(@Nullable String scheme) { if (scheme == null) { return null; } final String lowercaseScheme = Ascii.toLowerCase(scheme); final Scheme parsedScheme = SCHEMES.get(lowercaseScheme); if (parsedScheme != null) { return parsedScheme; } return SCHEMES.get(SerializationFormat.NONE.uriText() + '+' + lowercaseScheme); } private  Scheme(SerializationFormat serializationFormat, SessionProtocol sessionProtocol); @Nullable static Scheme tryParse(@Nullable String scheme); static Scheme parse(String scheme); static Scheme of(SerializationFormat serializationFormat, SessionProtocol sessionProtocol); SerializationFormat serializationFormat(); SessionProtocol sessionProtocol(); String uriText(); @Override int hashCode(); @Override boolean equals(@Nullable Object obj); @Override int compareTo(Scheme o); @Override String toString();  }
@Test public void tryParse_null() { assertThat(Scheme.tryParse(null)).isNull(); }