code: public BigInteger mockStep1(final String userID, final BigInteger s, final BigInteger v) {
  
      noSuchUserIdentity = true;
  
      return step1(userID, s, v);
    }
docs: Increments this SRP-6a authentication session to {@link State#STEP_1} indicating a non-existing
  user identity 'I' with mock (simulated) salt 's' and password verifier 'v' values.
  
  <p>This method can be used to avoid informing the client at step one that the user identity is
  bad and throw instead a guaranteed general "bad credentials" SRP-6a exception at step two.
  
  <p>Argument origin:
  
  <ul>
  <li>From client: user identity 'I'.
  <li>Simulated by server, preferably consistently for the specified identity 'I': salt 's' and
  password verifier 'v' values.
  </ul>
  
  @param userID The identity 'I' of the authenticating user. Must not be {@code null} or empty.
  @param s The password salt 's'. Must not be {@code null}.
  @param v The password verifier 'v'. Must not be {@code null}.
  @return The server public value 'B'.
  @throws IllegalStateException If the method is invoked in a state other than {@link
  State#INIT}.