code: public List<DeterministicKey> freshKeys(KeyChain.KeyPurpose purpose, int numberOfKeys) {
          DeterministicKeyChain chain = getActiveKeyChain();
          if (chain.isMarried()) {
              throw new UnsupportedOperationException("Key is not suitable to receive coins for married keychains." +
                      " Use freshAddress to get P2SH address instead");
          }
          return chain.getKeys(purpose, numberOfKeys);   // Always returns the next key along the key chain.
      }
docs: Returns a key/s that have not been returned by this method before (fresh). You can think of this as being
  newly created key/s, although the notion of "create" is not really valid for a
  {@link DeterministicKeyChain}. When the parameter is
  {@link KeyChain.KeyPurpose#RECEIVE_FUNDS} the returned key is suitable for being put
  into a receive coins wizard type UI. You should use this when the user is definitely going to hand this key out
  to someone who wishes to send money.
  <p>This method is not supposed to be used for married keychains and will throw UnsupportedOperationException if
  the active chain is married.
  For married keychains use {@link #freshAddress(KeyChain.KeyPurpose)}
  to get a proper P2SH address</p>