@Override
  public StubBase<?> get(int index) {
    StubBase<?> stub = getCachedStub(index);
    if (stub != null) return stub;

    StubBase<?> newStub = instantiateStub(index);
    if (myStubs.compareAndSet(index, null, newStub)) {
      if (myInstantiated.incrementAndGet() == myStubs.length()) {
        myData = null; // free some memory
      }
    }
    else {
      newStub = getCachedStub(index);
    }
    return newStub;
  }
@Override
  public StubBase<?> get(int index)