code: @Override
  	public int store(Object obj, int previousHandle) throws DataStoreException
      {
      	if (data.length == size)
              if (!reallocate())
              	return -1; // Store is full
      	
          int nextHandle;
          if (previousHandle != -1)
          {
              if (SAFE_MODE) checkHandle(previousHandle);
              nextHandle = nextEntry[previousHandle];
          }
          else
              nextHandle = firstEntry;
          
          int newHandle = findEmpty();
          if (newHandle == -1)
          	return -1;
          
          // Store data
          previousEntry[newHandle] = previousHandle;
          nextEntry[newHandle] = nextHandle;
          data[newHandle] = obj;
          
          // Connect to list
          if (previousHandle != -1)
              nextEntry[previousHandle] = newHandle;
          if (nextHandle != -1)
              previousEntry[nextHandle] = newHandle;
          
          // Update first entry if necessary
          if (previousHandle == -1)
              firstEntry = newHandle;
          
          size++;
          
          return newHandle;
      }
docs: /*
  (non-Javadoc)
  @see net.timewalker.ffmq4.utils.store.LinkedObjectStore#store(java.lang.Object, int)