public Uid authenticate(final String username, final String password, final OperationOptions options) {
Uid result = null;
if (activeConnInstance.getCapabilities().contains(ConnectorCapability.AUTHENTICATE)) {
final Future<Uid> future = asyncFacade.authenticate(
connector, username, new GuardedString(password.toCharArray()), options);
try {
result = future.get(activeConnInstance.getConnRequestTimeout(), TimeUnit.SECONDS);
} catch (java.util.concurrent.TimeoutException e) {
future.cancel(true);
throw new TimeoutException("Request timeout");