Ciao a tutti dovrei creare una funzione che passata una stringa mi dica se è un indirizzo di IPV6 valido o no

in precedenza ho creato una funzione che valida indirizzi di IPV4, ecco il codice per IPV4:

codice:
Java

public final static boolean ValidateIPAddress( String  ipAddress )
	{
	    String[] parts = ipAddress.split( "\\." );

	    if ( parts.length != 4 )
	    {
	        return false;
	    }

	    for ( String s : parts )
	    {
	        int i = Integer.parseInt( s );

	        if ( (i < 0) || (i > 255) )
	        {
	            return false;
	        }
	    }
	    
	    return true;
	    
	}
per IPV6 sono davvero in alto mare qualcuno ha già fatto qualcosa di simile Grazie