code: public void accept(String systemId, InterfaceVersion interfaceVersion) throws PDUStringException, IllegalStateException, IOException {
          StringValidator.validateString(systemId, StringParameter.SYSTEM_ID);
          lock.lock();
          try {
              if (!done) {
                  done = true;
                  try {
                      responseHandler.sendBindResp(systemId, interfaceVersion, bindType, originalSequenceNumber);
                  } finally {
                      condition.signal();
                  }
              } else {
                  throw new IllegalStateException("Response already initiated");
              }
          } finally {
              lock.unlock();
          }
          done = true;
      }
docs: Accept the bind request. The provided interface version will be put into the optional parameter
  sc_interface_version in the bind response message.
  
  @param systemId is the system identifier that will be send to ESME.
  @param interfaceVersion is the interface version that will be sent to the ESME
  @throws PDUStringException if the system id is not valid.
  @throws IllegalStateException if the acceptance or rejection has been made.
  @throws IOException is the connection already closed.
  @see #reject(int errorCode)