Program: 112976
Project: 112976
Buggy source:
@Override public void init(final SortedKeyValueIterator<Key,Value> source,final Map<String,String> options,final IteratorEnvironment env) throws IOException {
  try {
    final String className=options.get(AGGREGATION_OPTION_NAME);
    aggregationFunction=PersistenceUtils.classFactory(className,Aggregation.class);
    final String parameterStr=options.get(PARAMETER_OPTION_NAME);
    if ((parameterStr != null) && parameterStr.isEmpty()) {
      final byte[] parameterBytes=ByteArrayUtils.byteArrayFromString(parameterStr);
      final Persistable aggregationParams=PersistenceUtils.fromBinary(parameterBytes,Persistable.class);
      aggregationFunction.setParameters(aggregationParams);
    }
    final String adapterStr=options.get(ADAPTER_OPTION_NAME);
    final byte[] adapterBytes=ByteArrayUtils.byteArrayFromString(adapterStr);
    adapter=PersistenceUtils.fromBinary(adapterBytes,DataAdapter.class);
    final String indexStrategyStr=options.get(INDEX_STRATEGY_OPTION_NAME);
    final byte[] indexStrategyBytes=ByteArrayUtils.byteArrayFromString(indexStrategyStr);
    final NumericIndexStrategy strategy=PersistenceUtils.fromBinary(indexStrategyBytes,NumericIndexStrategy.class);
    final String contraintsStr=options.get(CONSTRAINTS_OPTION_NAME);
    final byte[] constraintsBytes=ByteArrayUtils.byteArrayFromString(contraintsStr);
    final List constraints=PersistenceUtils.fromBinary(constraintsBytes);
    final String maxDecomp=options.get(MAX_DECOMPOSITION_OPTION_NAME);
    Integer maxDecompInt=AccumuloConstraintsQuery.MAX_RANGE_DECOMPOSITION;
    if (maxDecomp != null) {
      try {
        maxDecompInt=Integer.parseInt(maxDecomp);
      }
 catch (      final Exception e) {
        LOGGER.warn("String_Node_Str" + MAX_DECOMPOSITION_OPTION_NAME + "String_Node_Str",e);
      }
    }
    ranges=AccumuloUtils.byteArrayRangesToAccumuloRanges(DataStoreUtils.constraintsToByteArrayRanges(constraints,strategy,maxDecompInt));
    super.init(source,options,env);
  }
 catch (  final Exception e) {
    throw new IllegalArgumentException(e);
  }
}

Fixed version (ground truth):
@Override public void init(final SortedKeyValueIterator<Key,Value> source,final Map<String,String> options,final IteratorEnvironment env) throws IOException {
  try {
    final String className=options.get(AGGREGATION_OPTION_NAME);
    aggregationFunction=PersistenceUtils.classFactory(className,Aggregation.class);
    final String parameterStr=options.get(PARAMETER_OPTION_NAME);
    if ((parameterStr != null) && !parameterStr.isEmpty()) {
      final byte[] parameterBytes=ByteArrayUtils.byteArrayFromString(parameterStr);
      final Persistable aggregationParams=PersistenceUtils.fromBinary(parameterBytes,Persistable.class);
      aggregationFunction.setParameters(aggregationParams);
    }
    final String adapterStr=options.get(ADAPTER_OPTION_NAME);
    final byte[] adapterBytes=ByteArrayUtils.byteArrayFromString(adapterStr);
    adapter=PersistenceUtils.fromBinary(adapterBytes,DataAdapter.class);
    final String indexStrategyStr=options.get(INDEX_STRATEGY_OPTION_NAME);
    final byte[] indexStrategyBytes=ByteArrayUtils.byteArrayFromString(indexStrategyStr);
    final NumericIndexStrategy strategy=PersistenceUtils.fromBinary(indexStrategyBytes,NumericIndexStrategy.class);
    final String contraintsStr=options.get(CONSTRAINTS_OPTION_NAME);
    final byte[] constraintsBytes=ByteArrayUtils.byteArrayFromString(contraintsStr);
    final List constraints=PersistenceUtils.fromBinary(constraintsBytes);
    final String maxDecomp=options.get(MAX_DECOMPOSITION_OPTION_NAME);
    Integer maxDecompInt=AccumuloConstraintsQuery.MAX_RANGE_DECOMPOSITION;
    if (maxDecomp != null) {
      try {
        maxDecompInt=Integer.parseInt(maxDecomp);
      }
 catch (      final Exception e) {
        LOGGER.warn("String_Node_Str" + MAX_DECOMPOSITION_OPTION_NAME + "String_Node_Str",e);
      }
    }
    ranges=AccumuloUtils.byteArrayRangesToAccumuloRanges(DataStoreUtils.constraintsToByteArrayRanges(constraints,strategy,maxDecompInt));
    super.init(source,options,env);
  }
 catch (  final Exception e) {
    throw new IllegalArgumentException(e);
  }
}