code: public <V> V untilAtomic(final AtomicReference<V> atomic, final Matcher<? super V> matcher) {
          return until(new CallableHamcrestCondition<V>(new Callable<V>() {
              public V call() {
                  return atomic.get();
              }
          }, matcher, generateConditionSettings()));
      }
docs: Await until a Atomic variable has a value matching the specified
  {@link org.hamcrest.Matcher}. E.g.
  <p>&nbsp;</p>
  <pre>
  await().untilAtomic(myAtomic, is(greaterThan(2)));
  </pre>
  
  @param atomic  the atomic variable
  @param matcher the matcher The hamcrest matcher that checks whether the
  condition is fulfilled.
  @param <V>     a V object.
  @return a V object.
  @throws org.awaitility.core.ConditionTimeoutException If condition was not fulfilled within the given time period.