code: @Override
  	public synchronized void put(Integer key, T value) {
  		int intKey = key;
  		
  		while (this.data.size() <= intKey) {
  			this.data.add(null);
  		}
  		if (this.data.get(intKey) != null) {
  			throw new DatabaseException("Database already has a value for key [" + key + "]");
  		}
  		this.data.set(intKey, value);
  	}
docs: //////////////