code: public synchronized HashtableEntry put(Object key, Object value, int len, long expirationTime, long validatorExpirationTime,
                                             byte[] serializedKey, byte[] serializedCacheValue, int valueHashcode, boolean isAliasId) // LI4337-17
      throws IOException,
                      EOFException,
                      FileManagerException,
                      ClassNotFoundException,
                      HashtableOnDiskException {
          if (key == null)
              return null;
          //if ( value == null ) return 0;  // comment this line to allow the value=NULL
  
          return mapPut(key, value, len, expirationTime, validatorExpirationTime, serializedKey, serializedCacheValue, valueHashcode, isAliasId); // LI4337-17
      }
docs: ************************************************************************
  Associates the object with the key and stores it. If an object already
  exists for this key it is replaced and the previous object discard. The
  object is assumed to have been "manually" serialized by the caller and will
  be written up to length "len", directly on disk with no further
  serialization.
  
  @param key The key for the object to store.
  @param value The object to store (might be serialized cache entry)
  @param len The maximum number of bytes from "value" to write to disk.
  @param expirationTime The expiration time of this object
  @param serializedKey the serialized key
  @param serializedCacheValue the serialized cache value (value in cache entry)
  @param isAliasId boolean to indicate alias id
  
  @return HashTableEntry of old entry if exists. Return null if the key is null or the entry does not exist
  
  @exception FileManagerException The underlying file manager has a problem.
  @exception ClassNotFoundException Some key in the hash bucket cannot be
  deserialized while searching to see if the object already exists. The
  underlying file is likely corrupted.
  @exception IOException The underlying file has a problem and is likely
  corrupt.
  @exception EOFxception We were asked to seek beyond the end of the file.
  The file is likely corrupt.
  @exception HashtableOnDiskException The hashtable header is readable but invalid.
  One or more of the following is true: the magic string is invalid, the header
  pointers are null, the header pointers do not point to a recognizable hashtable.
  ***********************************************************************