@Override
  public ByteBuffer processStorageCommand(String key, byte[] value, int flags, Cache cache) {
    Region<Object, ValueWrapper> r = getMemcachedRegion(cache);
    ValueWrapper oldValWrapper = r.get(key);
    String retVal = Reply.NOT_FOUND.toString();
    if (oldValWrapper != null) {
      byte[] oldVal = oldValWrapper.getValue();
      byte[] prependVal = value;
      byte[] newVal = new byte[oldVal.length + prependVal.length];
      System.arraycopy(prependVal, 0, newVal, 0, prependVal.length);
      System.arraycopy(oldVal, 0, newVal, prependVal.length, oldVal.length);
      r.put(key, ValueWrapper.getWrappedValue(newVal, flags));
      retVal = Reply.STORED.toString();
    }
    return asciiCharset.encode(retVal);
  }
"prepend" means "add this data to an existing key before existing data".
geode-memcached/src/main/java/org/apache/geode/internal/memcached/commands/PrependCommand.java