docs: private String[] extractAndDecodeHeader(final String header) {
  
          final byte[] base64Token = header.substring(PREFIX_LENGTH).getBytes(UTF_8);
          byte[] decoded;
          try {
              decoded = Base64.getDecoder().decode(base64Token);
          } catch (final IllegalArgumentException e) {
              throw new BadCredentialsException("Failed to decode basic authentication token", e);
          }
  
          final String token = new String(decoded, UTF_8);
  
          final int delim = token.indexOf(':');
  
          if (delim == -1) {
              throw new BadCredentialsException("Invalid basic authentication token");
          }
          return new String[] {token.substring(0, delim), token.substring(delim + 1)};
      }