Program: 48019
Project: 48019
Buggy source:
public PortableFactory createFactory(){
  ConstructorFunction<Integer,Portable>[] constructors=new ConstructorFunction[TXN_MM_REMOVEALL + 1];
  constructors[CLEAR]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new ClearRequest();
    }
  }
;
  constructors[CONTAINS_ENTRY]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new ContainsRequest();
    }
  }
;
  constructors[COUNT]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new CountRequest();
    }
  }
;
  constructors[ENTRY_SET]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new EntrySetRequest();
    }
  }
;
  constructors[GET_ALL]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new GetAllRequest();
    }
  }
;
  constructors[KEY_SET]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new KeySetRequest();
    }
  }
;
  constructors[PUT]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new PutRequest();
    }
  }
;
  constructors[REMOVE_ALL]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new RemoveAllRequest();
    }
  }
;
  constructors[REMOVE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new RemoveRequest();
    }
  }
;
  constructors[SIZE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new SizeRequest();
    }
  }
;
  constructors[VALUES]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new ValuesRequest();
    }
  }
;
  constructors[ADD_ENTRY_LISTENER]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new AddEntryListenerRequest();
    }
  }
;
  constructors[ENTRY_SET_RESPONSE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new PortableEntrySetResponse();
    }
  }
;
  constructors[LOCK]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new MultiMapLockRequest();
    }
  }
;
  constructors[UNLOCK]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new MultiMapUnlockRequest();
    }
  }
;
  constructors[IS_LOCKED]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new MultiMapIsLockedRequest();
    }
  }
;
  constructors[TXN_MM_PUT]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapPutRequest();
    }
  }
;
  constructors[TXN_MM_GET]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapGetRequest();
    }
  }
;
  constructors[TXN_MM_REMOVE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapRemoveRequest();
    }
  }
;
  constructors[TXN_MM_VALUE_COUNT]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapValueCountRequest();
    }
  }
;
  constructors[TXN_MM_SIZE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapSizeRequest();
    }
  }
;
  constructors[REMOVE_ENTRY_LISTENER]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new RemoveEntryListenerRequest();
    }
  }
;
  constructors[TXN_MM_REMOVEALL]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapRemoveAllRequest();
    }
  }
;
  return new ArrayPortableFactory(constructors);
}

Fixed version (ground truth):
public PortableFactory createFactory(){
  ConstructorFunction<Integer,Portable>[] constructors=new ConstructorFunction[KEY_BASED_CONTAINS + 1];
  constructors[CLEAR]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new ClearRequest();
    }
  }
;
  constructors[CONTAINS_ENTRY]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new ContainsRequest();
    }
  }
;
  constructors[COUNT]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new CountRequest();
    }
  }
;
  constructors[ENTRY_SET]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new EntrySetRequest();
    }
  }
;
  constructors[GET_ALL]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new GetAllRequest();
    }
  }
;
  constructors[KEY_SET]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new KeySetRequest();
    }
  }
;
  constructors[PUT]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new PutRequest();
    }
  }
;
  constructors[REMOVE_ALL]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new RemoveAllRequest();
    }
  }
;
  constructors[REMOVE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new RemoveRequest();
    }
  }
;
  constructors[SIZE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new SizeRequest();
    }
  }
;
  constructors[VALUES]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new ValuesRequest();
    }
  }
;
  constructors[ADD_ENTRY_LISTENER]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new AddEntryListenerRequest();
    }
  }
;
  constructors[ENTRY_SET_RESPONSE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new PortableEntrySetResponse();
    }
  }
;
  constructors[LOCK]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new MultiMapLockRequest();
    }
  }
;
  constructors[UNLOCK]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new MultiMapUnlockRequest();
    }
  }
;
  constructors[IS_LOCKED]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new MultiMapIsLockedRequest();
    }
  }
;
  constructors[TXN_MM_PUT]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapPutRequest();
    }
  }
;
  constructors[TXN_MM_GET]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapGetRequest();
    }
  }
;
  constructors[TXN_MM_REMOVE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapRemoveRequest();
    }
  }
;
  constructors[TXN_MM_VALUE_COUNT]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapValueCountRequest();
    }
  }
;
  constructors[TXN_MM_SIZE]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapSizeRequest();
    }
  }
;
  constructors[REMOVE_ENTRY_LISTENER]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new RemoveEntryListenerRequest();
    }
  }
;
  constructors[TXN_MM_REMOVEALL]=new ConstructorFunction<Integer,Portable>(){
    public Portable createNew(    Integer arg){
      return new TxnMultiMapRemoveAllRequest();
    }
  }
;
  constructors[KEY_BASED_CONTAINS]=new ConstructorFunction<Integer,Portable>(){
    @Override public Portable createNew(    Integer arg){
      return new KeyBasedContainsRequest();
    }
  }
;
  return new ArrayPortableFactory(constructors);
}