code: public synchronized Object getObject(int objectIndex)
                      throws IndexOutOfBoundsException, NoSuchElementException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getObject", "" + objectIndex);
  
          Object object;
  
          if ((objectIndex < OBJECT_TABLE_ORIGIN) || (objectIndex > maxIndex))
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "Invalid object index");
              throw new IndexOutOfBoundsException();
          }
  
          object = objectTable[objectIndex];
  
          if (object == null)
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "No such element existed!");
              throw new NoSuchElementException();
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "getObject", object);
          return object;
      }
docs: getObject - retrieve an object from the object store.
  
  @param objectIndex An integer value that identifies the location of the object in
  the object store.
  @return Returns the requested object.
  
  @throws IndexOutOfBoundsException
  @throws NoSuchElementException