code: public synchronized ApnsConnection obtain() {
          if (mPool.size() > 0) {
              ApnsConnection next = mPool.iterator().next();
              mPool.remove(next);
              return next;
          }
          return null;
      }
docs: If, and only if, there is at least one connection in the pool then one of the connections will be returned
  and size of the pool will be decremented by one (i.e. returned connection is removed from the pool).
  
  @return one of the connections in the pool if, and only if, there is at least one connection in the pool;
  otherwise null