Buggy code:
public class I2PSSLSocketFactory { public static final List < String > EXCLUDE_PROTOCOLS = Collections . unmodifiableList ( Arrays . asList ( new String [ ] { "SSLv2Hello" , "SSLv3" } ) ) ; public static final List < String > INCLUDE_PROTOCOLS = Collections . unmodifiableList ( Arrays . asList ( new String [ ] { "TLSv1" , "TLSv1.1" , "TLSv1.2" } ) ) ; public static final List < String > EXCLUDE_CIPHERS = Collections . unmodifiableList ( Arrays . asList ( new String [ ] { "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA" , "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5" , "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA" , "SSL_DH_anon_WITH_DES_CBC_SHA" , "SSL_DH_anon_WITH_RC4_128_MD5" , "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA" , "SSL_DHE_DSS_WITH_DES_CBC_SHA" , "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA" , "SSL_DHE_RSA_WITH_DES_CBC_SHA" , "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA" , "SSL_RSA_EXPORT_WITH_RC4_40_MD5" , "SSL_RSA_WITH_DES_CBC_SHA" , "SSL_RSA_WITH_NULL_MD5" , "SSL_RSA_WITH_NULL_SHA" , "TLS_DH_anon_WITH_AES_128_CBC_SHA" , "TLS_DH_anon_WITH_AES_128_CBC_SHA256" , "TLS_DH_anon_WITH_AES_128_GCM_SHA256" , "TLS_DH_anon_WITH_AES_256_CBC_SHA" , "TLS_DH_anon_WITH_AES_256_CBC_SHA256" , "TLS_DH_anon_WITH_AES_256_GCM_SHA384" , "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA" , "TLS_ECDH_anon_WITH_AES_128_CBC_SHA" , "TLS_ECDH_anon_WITH_AES_256_CBC_SHA" , "TLS_ECDH_anon_WITH_NULL_SHA" , "TLS_ECDH_anon_WITH_RC4_128_SHA" , "TLS_ECDH_ECDSA_WITH_NULL_SHA" , "TLS_ECDHE_ECDSA_WITH_NULL_SHA" , "TLS_ECDHE_RSA_WITH_NULL_SHA" , "TLS_ECDH_RSA_WITH_NULL_SHA" , "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5" , "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA" , "TLS_KRB5_EXPORT_WITH_RC4_40_MD5" , "TLS_KRB5_EXPORT_WITH_RC4_40_SHA" , "TLS_KRB5_WITH_3DES_EDE_CBC_MD5" , "TLS_KRB5_WITH_3DES_EDE_CBC_SHA" , "TLS_KRB5_WITH_DES_CBC_MD5" , "TLS_KRB5_WITH_DES_CBC_SHA" , "TLS_KRB5_WITH_RC4_128_MD5" , "TLS_KRB5_WITH_RC4_128_SHA" , "TLS_RSA_WITH_NULL_SHA256" , "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" , "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA" , "SSL_RSA_WITH_3DES_EDE_CBC_SHA" , "SSL_RSA_WITH_RC4_128_MD5" , "SSL_RSA_WITH_RC4_128_SHA" , "TLS_ECDH_ECDSA_WITH_RC4_128_SHA" , "TLS_ECDH_RSA_WITH_RC4_128_SHA" , "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA" , "TLS_ECDHE_RSA_WITH_RC4_128_SHA" , "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA" , "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA" , "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA" , "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" } ) ) ; public static final List < String > INCLUDE_CIPHERS = Collections . emptyList ( ) ; private final SSLSocketFactory _factory ; public I2PSSLSocketFactory ( I2PAppContext context , boolean loadSystemCerts , String relativeCertPath ) throws GeneralSecurityException { } public Socket createSocket ( String host , int port ) throws IOException { } public Socket createSocket ( InetAddress host , int port ) throws IOException { } private static SSLSocketFactory initSSLContext ( I2PAppContext context , boolean loadSystemCerts , String relativeCertPath ) throws GeneralSecurityException { } public static void setProtocolsAndCiphers ( SSLSocket socket ) { } public static void setProtocolsAndCiphers ( SSLServerSocket socket ) { String [ ] p = I2PSSLSocketFactory . selectProtocols ( socket . getEnabledProtocols ( ) , socket . getSupportedProtocols ( ) ) ; for ( int i = 0 ; i < ( p . length ) ; i ++ ) { <START_BUG> if ( p . equals ( "SSLv3" ) ) <END_BUG> return ; } socket . setEnabledProtocols ( p ) ; socket . setEnabledCipherSuites ( I2PSSLSocketFactory . selectCipherSuites ( socket . getEnabledCipherSuites ( ) , socket . getSupportedCipherSuites ( ) ) ) ; } private static String [ ] selectProtocols ( String [ ] enabledProtocols , String [ ] supportedProtocols ) { } private static String [ ] selectCipherSuites ( String [ ] enabledCipherSuites , String [ ] supportedCipherSuites ) { } private static String [ ] select ( String [ ] enabledArr , String [ ] supportedArr , List < String > toEnable , List < String > toExclude ) { } }

Fix:
if ( p [ i ] . equals ( "SSLv3" ) )