code: private String[] extractBasicAuthCredentials(String authorizationHeader) {
          if (authorizationHeader == null) {
              return null;
          }
          String[] schemeUserPass = new String[3];
          String credentials;
          final String[] headerParts = authorizationHeader.split(" ");
          if (headerParts != null && headerParts.length == 2) {
              schemeUserPass[0] = headerParts[0].equalsIgnoreCase("basic") ? SecurityContext.BASIC_AUTH : null;
              credentials = Base64.decodeAsString(headerParts[1]);
              final String[] userPass = credentials.split(":");
              if (userPass != null && userPass.length == 2) {
                  schemeUserPass[1] = userPass[0].replaceAll("%40", "@");
                  schemeUserPass[2] = userPass[1];
              }
              return schemeUserPass;
          }
          return null;
      }
docs: /* horrible, looks like rubby