nus-yam/ex-repair huggingface dataset:
Program: 6453
Project: 6453
Buggy source:
public static ConsumerConfigCache getInstance(TableName tableName,CConfigurationReader cConfReader,Supplier<TransactionSnapshot> txSnapshotSupplier,InputSupplier<HTableInterface> hTableSupplier){
  ConsumerConfigCache cache=INSTANCES.get(tableName);
  if (cache == null) {
    cache=new ConsumerConfigCache(tableName,cConfReader,txSnapshotSupplier,hTableSupplier);
    if (INSTANCES.putIfAbsent(tableName,cache) == null) {
      cache.init();
    }
 else {
      cache=INSTANCES.get(tableName);
    }
  }
  return cache;
}

Fixed version (ground truth):
public static ConsumerConfigCache getInstance(TableName tableName,CConfigurationReader cConfReader,Supplier<TransactionVisibilityState> txSnapshotSupplier,InputSupplier<HTableInterface> hTableSupplier){
  ConsumerConfigCache cache=INSTANCES.get(tableName);
  if (cache == null) {
    cache=new ConsumerConfigCache(tableName,cConfReader,txSnapshotSupplier,hTableSupplier);
    if (INSTANCES.putIfAbsent(tableName,cache) == null) {
      cache.init();
    }
 else {
      cache=INSTANCES.get(tableName);
    }
  }
  return cache;
}
Program: 6454
Project: 6454
Buggy source:
private ConsumerConfigCache getConsumerConfigCache(QueueName queueName) throws Exception {
  TableId tableId=HBaseQueueAdmin.getConfigTableId(queueName);
  try (HTable hTable=tableUtil.createHTable(hConf,tableId)){
    HTableDescriptor htd=hTable.getTableDescriptor();
    final TableName configTableName=htd.getTableName();
    HTableNameConverter nameConverter=new HTableNameConverterFactory().get();
    CConfigurationReader cConfReader=new CConfigurationReader(hConf,nameConverter.getSysConfigTablePrefix(htd));
    return ConsumerConfigCache.getInstance(configTableName,cConfReader,new Supplier<TransactionSnapshot>(){
      @Override public TransactionSnapshot get(){
        try {
          return transactionManager.getSnapshot();
        }
 catch (        IOException e) {
          throw Throwables.propagate(e);
        }
      }
    }
,new InputSupplier<HTableInterface>(){
      @Override public HTableInterface getInput() throws IOException {
        return new HTable(hConf,configTableName);
      }
    }
);
  }
 }

Fixed version (ground truth):
private ConsumerConfigCache getConsumerConfigCache(QueueName queueName) throws Exception {
  TableId tableId=HBaseQueueAdmin.getConfigTableId(queueName);
  try (HTable hTable=tableUtil.createHTable(hConf,tableId)){
    HTableDescriptor htd=hTable.getTableDescriptor();
    final TableName configTableName=htd.getTableName();
    HTableNameConverter nameConverter=new HTableNameConverterFactory().get();
    CConfigurationReader cConfReader=new CConfigurationReader(hConf,nameConverter.getSysConfigTablePrefix(htd));
    return ConsumerConfigCache.getInstance(configTableName,cConfReader,new Supplier<TransactionVisibilityState>(){
      @Override public TransactionVisibilityState get(){
        try {
          return transactionManager.getSnapshot();
        }
 catch (        IOException e) {
          throw Throwables.propagate(e);
        }
      }
    }
,new InputSupplier<HTableInterface>(){
      @Override public HTableInterface getInput() throws IOException {
        return new HTable(hConf,configTableName);
      }
    }
);
  }
 }
Program: 6455
Project: 6455
Buggy source:
@Override public TransactionSnapshot get(){
  try {
    return transactionManager.getSnapshot();
  }
 catch (  IOException e) {
    throw Throwables.propagate(e);
  }
}

Fixed version (ground truth):
@Override public TransactionVisibilityState get(){
  try {
    return transactionManager.getSnapshot();
  }
 catch (  IOException e) {
    throw Throwables.propagate(e);
  }
}
Program: 6457
Project: 6457
Buggy source:
@Override public TransactionSnapshot get(){
  return txStateCache.getLatestState();
}

Fixed version (ground truth):
@Override public TransactionVisibilityState get(){
  return txStateCache.getLatestState();
}
Program: 6459
Project: 6459
Buggy source:
@Override public TransactionSnapshot get(){
  return txStateCache.getLatestState();
}

Fixed version (ground truth):
@Override public TransactionVisibilityState get(){
  return txStateCache.getLatestState();
}
Program: 6461
Project: 6461
Buggy source:
@Override public TransactionSnapshot get(){
  return txStateCache.getLatestState();
}

Fixed version (ground truth):
@Override public TransactionVisibilityState get(){
  return txStateCache.getLatestState();
}
Program: 6463
Project: 6463
Buggy source:
@Override public TransactionSnapshot get(){
  return txStateCache.getLatestState();
}

Fixed version (ground truth):
@Override public TransactionVisibilityState get(){
  return txStateCache.getLatestState();
}
Program: 6465
Project: 6465
Buggy source:
@Override public TransactionSnapshot get(){
  return txStateCache.getLatestState();
}

Fixed version (ground truth):
@Override public TransactionVisibilityState get(){
  return txStateCache.getLatestState();
}
Program: 6466
Project: 6466
Buggy source:
public void tryConnect(CLIConnectionConfig connectionConfig,PrintStream output,boolean debug) throws Exception {
  try {
    UserAccessToken userToken=acquireAccessToken(clientConfig,connectionConfig,output,debug);
    AccessToken accessToken=null;
    if (userToken != null) {
      accessToken=userToken.getAccessToken();
      connectionConfig=new CLIConnectionConfig(connectionConfig,connectionConfig.getNamespace(),userToken.getUsername());
    }
    checkConnection(clientConfig,connectionConfig,accessToken);
    setConnectionConfig(connectionConfig);
    clientConfig.setAccessToken(accessToken);
    output.printf("String_Node_Str",connectionConfig.getURI().toString());
    output.println();
  }
 catch (  IOException e) {
    throw new IOException(String.format("String_Node_Str",connectionConfig.getURI().toString(),e.getMessage()),e);
  }
}

Fixed version (ground truth):
public void tryConnect(CLIConnectionConfig connectionConfig,boolean verifySSLCert,PrintStream output,boolean debug) throws Exception {
  try {
    clientConfig.setVerifySSLCert(verifySSLCert);
    UserAccessToken userToken=acquireAccessToken(clientConfig,connectionConfig,output,debug);
    AccessToken accessToken=null;
    if (userToken != null) {
      accessToken=userToken.getAccessToken();
      connectionConfig=new CLIConnectionConfig(connectionConfig,connectionConfig.getNamespace(),userToken.getUsername());
    }
    checkConnection(clientConfig,connectionConfig,accessToken);
    setConnectionConfig(connectionConfig);
    clientConfig.setAccessToken(accessToken);
    output.printf("String_Node_Str",connectionConfig.getURI().toString());
    output.println();
  }
 catch (  IOException e) {
    throw new IOException(String.format("String_Node_Str",connectionConfig.getURI().toString(),e.getMessage()),e);
  }
}
Program: 6468
Project: 6468
Buggy source:
/** 
 * Tries to autoconnect to the provided URI in options.
 */
public boolean tryAutoconnect(CommandLine command){
  if (!options.isAutoconnect()) {
    return true;
  }
  InstanceURIParser instanceURIParser=injector.getInstance(InstanceURIParser.class);
  try {
    CLIConnectionConfig connection=instanceURIParser.parse(options.getUri());
    cliConfig.tryConnect(connection,cliConfig.getOutput(),options.isDebug());
    return true;
  }
 catch (  Exception e) {
    if (options.isDebug()) {
      e.printStackTrace(cliConfig.getOutput());
    }
 else {
      cliConfig.getOutput().println(e.getMessage());
    }
    if (!command.hasOption(URI_OPTION.getOpt())) {
      cliConfig.getOutput().printf("String_Node_Str");
    }
    return false;
  }
}

Fixed version (ground truth):
/** 
 * Tries to autoconnect to the provided URI in options.
 */
public boolean tryAutoconnect(CommandLine command){
  if (!options.isAutoconnect()) {
    return true;
  }
  InstanceURIParser instanceURIParser=injector.getInstance(InstanceURIParser.class);
  try {
    CLIConnectionConfig connection=instanceURIParser.parse(options.getUri());
    cliConfig.tryConnect(connection,options.isVerifySSL(),cliConfig.getOutput(),options.isDebug());
    return true;
  }
 catch (  Exception e) {
    if (options.isDebug()) {
      e.printStackTrace(cliConfig.getOutput());
    }
 else {
      cliConfig.getOutput().println(e.getMessage());
    }
    if (!command.hasOption(URI_OPTION.getOpt())) {
      cliConfig.getOutput().printf("String_Node_Str");
    }
    return false;
  }
}
Program: 6469
Project: 6469
Buggy source:
@Override public String getPattern(){
  return "String_Node_Str";
}

Fixed version (ground truth):
@Override public String getPattern(){
  return String.format("String_Node_Str",ArgumentName.INSTANCE_URI,ArgumentName.VERIFY_SSL_CERT);
}
Program: 6470
Project: 6470
Buggy source:
@Override public void execute(Arguments arguments,PrintStream output) throws Exception {
  String instanceURI=arguments.get("String_Node_Str");
  CLIConnectionConfig connection=instanceURIParser.parse(instanceURI);
  try {
    cliConfig.tryConnect(connection,output,debug);
  }
 catch (  Exception e) {
    output.println("String_Node_Str" + instanceURI + "String_Node_Str"+ e.getMessage());
    if (debug) {
      e.printStackTrace(output);
    }
  }
}

Fixed version (ground truth):
@Override public void execute(Arguments arguments,PrintStream output) throws Exception {
  String instanceURI=arguments.get(ArgumentName.INSTANCE_URI.toString());
  String verifySSLCertString=arguments.getOptional(ArgumentName.VERIFY_SSL_CERT.toString());
  boolean verifySSLCert=verifySSLCertString != null ? Boolean.valueOf(verifySSLCertString) : true;
  CLIConnectionConfig connection=instanceURIParser.parse(instanceURI);
  try {
    cliConfig.tryConnect(connection,verifySSLCert,output,debug);
  }
 catch (  Exception e) {
    output.println("String_Node_Str" + instanceURI + "String_Node_Str"+ e.getMessage());
    if (debug) {
      e.printStackTrace(output);
    }
  }
}
Program: 6471
Project: 6471
Buggy source:
@Before public void setUp() throws Throwable {
  super.setUp();
  appClient=new ApplicationClient(clientConfig);
  queryClient=new QueryClient(clientConfig);
  programClient=new ProgramClient(clientConfig);
  streamClient=new StreamClient(clientConfig);
  String accessToken=(clientConfig.getAccessToken() == null) ? null : clientConfig.getAccessToken().getValue();
  ConnectionConfig connectionConfig=clientConfig.getConnectionConfig();
  exploreClient=new FixedAddressExploreClient(connectionConfig.getHostname(),connectionConfig.getPort(),accessToken);
  namespaceClient=new NamespaceClient(clientConfig);
}

Fixed version (ground truth):
@Before public void setUp() throws Throwable {
  super.setUp();
  appClient=new ApplicationClient(clientConfig);
  queryClient=new QueryClient(clientConfig);
  programClient=new ProgramClient(clientConfig);
  streamClient=new StreamClient(clientConfig);
  String accessToken=(clientConfig.getAccessToken() == null) ? null : clientConfig.getAccessToken().getValue();
  ConnectionConfig connectionConfig=clientConfig.getConnectionConfig();
  exploreClient=new FixedAddressExploreClient(connectionConfig.getHostname(),connectionConfig.getPort(),accessToken,connectionConfig.isSSLEnabled(),clientConfig.isVerifySSLCert());
  namespaceClient=new NamespaceClient(clientConfig);
}
Program: 6472
Project: 6472
Buggy source:
@Override public String get(){
  if (config.getAccessToken() != null) {
    return config.getAccessToken().getValue();
  }
  return null;
}

Fixed version (ground truth):
@Override public Boolean get(){
  return config.isVerifySSLCert();
}
Program: 6473
Project: 6473
Buggy source:
@Inject public QueryClient(final ClientConfig config){
  Supplier<String> hostname=new Supplier<String>(){
    @Override public String get(){
      return config.getConnectionConfig().getHostname();
    }
  }
;
  Supplier<Integer> port=new Supplier<Integer>(){
    @Override public Integer get(){
      return config.getConnectionConfig().getPort();
    }
  }
;
  Supplier<String> accessToken=new Supplier<String>(){
    @Override public String get(){
      if (config.getAccessToken() != null) {
        return config.getAccessToken().getValue();
      }
      return null;
    }
  }
;
  exploreClient=new SuppliedAddressExploreClient(hostname,port,accessToken);
}

Fixed version (ground truth):
@Inject public QueryClient(final ClientConfig config){
  Supplier<String> hostname=new Supplier<String>(){
    @Override public String get(){
      return config.getConnectionConfig().getHostname();
    }
  }
;
  Supplier<Integer> port=new Supplier<Integer>(){
    @Override public Integer get(){
      return config.getConnectionConfig().getPort();
    }
  }
;
  Supplier<String> accessToken=new Supplier<String>(){
    @Override public String get(){
      if (config.getAccessToken() != null) {
        return config.getAccessToken().getValue();
      }
      return null;
    }
  }
;
  Supplier<Boolean> sslEnabled=new Supplier<Boolean>(){
    @Override public Boolean get(){
      return config.getConnectionConfig().isSSLEnabled();
    }
  }
;
  Supplier<Boolean> verifySSLCert=new Supplier<Boolean>(){
    @Override public Boolean get(){
      return config.isVerifySSLCert();
    }
  }
;
  exploreClient=new SuppliedAddressExploreClient(hostname,port,accessToken,sslEnabled,verifySSLCert);
}
Program: 6474
Project: 6474
Buggy source:
@Override public FetchedMessage next(){
  recordLastOffset();
  FetchedMessage message=delegate.next();
  lastTopicPartition=message.getTopicPartition();
  lastOffset=message.getNextOffset();
  messageCount.incrementAndGet();
  return message;
}

Fixed version (ground truth):
@Override public FetchedMessage next(){
  FetchedMessage message=delegate.next();
  lastTopicPartition=message.getTopicPartition();
  lastOffset=message.getNextOffset();
  messageCount.incrementAndGet();
  recordOffset();
  return message;
}
Program: 6475
Project: 6475
Buggy source:
@Override public void onReceived(Iterator<FetchedMessage> messages){
  delegate.onReceived(new OffsetTrackingIterator(messages));
}

Fixed version (ground truth):
@Override public void onReceived(Iterator<FetchedMessage> messages){
  delegate.onReceived(new OffsetTrackingIterator(messages));
  if (messageCount.get() >= persistThreshold) {
    messageCount.set(0);
    persistOffsets();
  }
}
Program: 6476
Project: 6476
Buggy source:
@Override public void finished(){
  try {
    delegate.finished();
  }
  finally {
    persist();
  }
}

Fixed version (ground truth):
@Override public void finished(){
  try {
    delegate.finished();
  }
  finally {
    persistOffsets();
  }
}
Program: 6477
Project: 6477
Buggy source:
@GET @Path("String_Node_Str") public void getArtifactPlugins(HttpRequest request,HttpResponder responder,@PathParam("String_Node_Str") String namespaceId,@PathParam("String_Node_Str") String artifactName,@PathParam("String_Node_Str") String artifactVersion,@PathParam("String_Node_Str") String pluginType,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") String scope) throws NamespaceNotFoundException, BadRequestException {
  Id.Namespace namespace=validateAndGetNamespace(namespaceId,scope);
  Id.Artifact artifactId=validateAndGetArtifactId(namespace,artifactName,artifactVersion);
  try {
    SortedMap<ArtifactDescriptor,List<PluginClass>> plugins=artifactRepository.getPlugins(artifactId,pluginType);
    List<PluginSummary> pluginSummaries=Lists.newArrayList();
    for (    Map.Entry<ArtifactDescriptor,List<PluginClass>> pluginsEntry : plugins.entrySet()) {
      ArtifactDescriptor pluginArtifact=pluginsEntry.getKey();
      ArtifactSummary pluginArtifactSummary=ArtifactSummary.from(pluginArtifact.getArtifactId());
      for (      PluginClass pluginClass : pluginsEntry.getValue()) {
        pluginSummaries.add(new PluginSummary(pluginClass.getName(),pluginClass.getType(),pluginClass.getDescription(),pluginClass.getClassName(),pluginArtifactSummary));
      }
    }
    responder.sendJson(HttpResponseStatus.OK,pluginSummaries);
  }
 catch (  IOException e) {
    LOG.error("String_Node_Str",artifactId,e);
    responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
  }
}

Fixed version (ground truth):
@GET @Path("String_Node_Str") public void getArtifactPlugins(HttpRequest request,HttpResponder responder,@PathParam("String_Node_Str") String namespaceId,@PathParam("String_Node_Str") String artifactName,@PathParam("String_Node_Str") String artifactVersion,@PathParam("String_Node_Str") String pluginType,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") String scope) throws NamespaceNotFoundException, BadRequestException, ArtifactNotFoundException {
  Id.Namespace namespace=validateAndGetNamespace(namespaceId,scope);
  Id.Artifact artifactId=validateAndGetArtifactId(namespace,artifactName,artifactVersion);
  try {
    SortedMap<ArtifactDescriptor,List<PluginClass>> plugins=artifactRepository.getPlugins(artifactId,pluginType);
    List<PluginSummary> pluginSummaries=Lists.newArrayList();
    for (    Map.Entry<ArtifactDescriptor,List<PluginClass>> pluginsEntry : plugins.entrySet()) {
      ArtifactDescriptor pluginArtifact=pluginsEntry.getKey();
      ArtifactSummary pluginArtifactSummary=ArtifactSummary.from(pluginArtifact.getArtifactId());
      for (      PluginClass pluginClass : pluginsEntry.getValue()) {
        pluginSummaries.add(new PluginSummary(pluginClass.getName(),pluginClass.getType(),pluginClass.getDescription(),pluginClass.getClassName(),pluginArtifactSummary));
      }
    }
    responder.sendJson(HttpResponseStatus.OK,pluginSummaries);
  }
 catch (  IOException e) {
    LOG.error("String_Node_Str",artifactId,e);
    responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
  }
}
Program: 6478
Project: 6478
Buggy source:
@GET @Path("String_Node_Str") public void getArtifactPluginTypes(HttpRequest request,HttpResponder responder,@PathParam("String_Node_Str") String namespaceId,@PathParam("String_Node_Str") String artifactName,@PathParam("String_Node_Str") String artifactVersion,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") String scope) throws NamespaceNotFoundException, BadRequestException {
  Id.Namespace namespace=validateAndGetNamespace(namespaceId,scope);
  Id.Artifact artifactId=validateAndGetArtifactId(namespace,artifactName,artifactVersion);
  try {
    SortedMap<ArtifactDescriptor,List<PluginClass>> plugins=artifactRepository.getPlugins(artifactId);
    Set<String> pluginTypes=Sets.newHashSet();
    for (    List<PluginClass> pluginClasses : plugins.values()) {
      for (      PluginClass pluginClass : pluginClasses) {
        pluginTypes.add(pluginClass.getType());
      }
    }
    responder.sendJson(HttpResponseStatus.OK,pluginTypes);
  }
 catch (  IOException e) {
    LOG.error("String_Node_Str",artifactId,e);
    responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
  }
}

Fixed version (ground truth):
@GET @Path("String_Node_Str") public void getArtifactPluginTypes(HttpRequest request,HttpResponder responder,@PathParam("String_Node_Str") String namespaceId,@PathParam("String_Node_Str") String artifactName,@PathParam("String_Node_Str") String artifactVersion,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") String scope) throws NamespaceNotFoundException, BadRequestException, ArtifactNotFoundException {
  Id.Namespace namespace=validateAndGetNamespace(namespaceId,scope);
  Id.Artifact artifactId=validateAndGetArtifactId(namespace,artifactName,artifactVersion);
  try {
    SortedMap<ArtifactDescriptor,List<PluginClass>> plugins=artifactRepository.getPlugins(artifactId);
    Set<String> pluginTypes=Sets.newHashSet();
    for (    List<PluginClass> pluginClasses : plugins.values()) {
      for (      PluginClass pluginClass : pluginClasses) {
        pluginTypes.add(pluginClass.getType());
      }
    }
    responder.sendJson(HttpResponseStatus.OK,pluginTypes);
  }
 catch (  IOException e) {
    LOG.error("String_Node_Str",artifactId,e);
    responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
  }
}
Program: 6480
Project: 6480
Buggy source:
@Nullable @Override public <T>T usePlugin(String pluginType,String pluginName,String pluginId,PluginProperties properties,PluginSelector selector){
  Plugin plugin=null;
  try {
    plugin=findPlugin(pluginType,pluginName,pluginId,properties,selector);
  }
 catch (  PluginNotExistsException e) {
    return null;
  }
  try {
    T instance=pluginInstantiator.newInstance(plugin);
    plugins.put(pluginId,plugin);
    return instance;
  }
 catch (  IOException e) {
    return null;
  }
catch (  ClassNotFoundException e) {
    throw Throwables.propagate(e);
  }
}

Fixed version (ground truth):
@Nullable @Override public <T>T usePlugin(String pluginType,String pluginName,String pluginId,PluginProperties properties,PluginSelector selector){
  Plugin plugin;
  try {
    plugin=findPlugin(pluginType,pluginName,pluginId,properties,selector);
  }
 catch (  PluginNotExistsException e) {
    return null;
  }
catch (  ArtifactNotFoundException e) {
    throw new IllegalStateException(String.format("String_Node_Str",artifactId));
  }
  try {
    T instance=pluginInstantiator.newInstance(plugin);
    plugins.put(pluginId,plugin);
    return instance;
  }
 catch (  IOException e) {
    return null;
  }
catch (  ClassNotFoundException e) {
    throw Throwables.propagate(e);
  }
}
Program: 6481
Project: 6481
Buggy source:
@Nullable @Override public <T>Class<T> usePluginClass(String pluginType,String pluginName,String pluginId,PluginProperties properties,PluginSelector selector){
  Plugin plugin;
  try {
    plugin=findPlugin(pluginType,pluginName,pluginId,properties,selector);
  }
 catch (  PluginNotExistsException e) {
    return null;
  }
  try {
    Class<T> cls=pluginInstantiator.loadClass(plugin);
    plugins.put(pluginId,plugin);
    return cls;
  }
 catch (  IOException e) {
    return null;
  }
catch (  ClassNotFoundException e) {
    throw Throwables.propagate(e);
  }
}

Fixed version (ground truth):
@Nullable @Override public <T>Class<T> usePluginClass(String pluginType,String pluginName,String pluginId,PluginProperties properties,PluginSelector selector){
  Plugin plugin;
  try {
    plugin=findPlugin(pluginType,pluginName,pluginId,properties,selector);
  }
 catch (  PluginNotExistsException e) {
    return null;
  }
catch (  ArtifactNotFoundException e) {
    throw new IllegalStateException(String.format("String_Node_Str",artifactId));
  }
  try {
    Class<T> cls=pluginInstantiator.loadClass(plugin);
    plugins.put(pluginId,plugin);
    return cls;
  }
 catch (  IOException e) {
    return null;
  }
catch (  ClassNotFoundException e) {
    throw Throwables.propagate(e);
  }
}
Program: 6482
Project: 6482
Buggy source:
private Plugin findPlugin(String pluginType,String pluginName,String pluginId,PluginProperties properties,PluginSelector selector) throws PluginNotExistsException {
  Preconditions.checkArgument(!plugins.containsKey(pluginId),"String_Node_Str",pluginType,pluginName);
  Preconditions.checkArgument(properties != null,"String_Node_Str");
  Map.Entry<ArtifactDescriptor,PluginClass> pluginEntry;
  try {
    pluginEntry=artifactRepository.findPlugin(artifactId,pluginType,pluginName,selector);
  }
 catch (  IOException e) {
    throw Throwables.propagate(e);
  }
  for (  PluginPropertyField field : pluginEntry.getValue().getProperties().values()) {
    Preconditions.checkArgument(!field.isRequired() || (properties != null && properties.getProperties().containsKey(field.getName())),"String_Node_Str",field.getName(),pluginType,pluginName);
  }
  ArtifactId artifactId=pluginEntry.getKey().getArtifactId();
  try {
    pluginInstantiator.addArtifact(pluginEntry.getKey().getLocation(),artifactId);
  }
 catch (  IOException e) {
    Throwables.propagate(e);
  }
  return new Plugin(artifactId,pluginEntry.getValue(),properties);
}

Fixed version (ground truth):
private Plugin findPlugin(String pluginType,String pluginName,String pluginId,PluginProperties properties,PluginSelector selector) throws PluginNotExistsException, ArtifactNotFoundException {
  Preconditions.checkArgument(!plugins.containsKey(pluginId),"String_Node_Str",pluginType,pluginName);
  Preconditions.checkArgument(properties != null,"String_Node_Str");
  Map.Entry<ArtifactDescriptor,PluginClass> pluginEntry;
  try {
    pluginEntry=artifactRepository.findPlugin(artifactId,pluginType,pluginName,selector);
  }
 catch (  IOException e) {
    throw Throwables.propagate(e);
  }
  for (  PluginPropertyField field : pluginEntry.getValue().getProperties().values()) {
    Preconditions.checkArgument(!field.isRequired() || (properties != null && properties.getProperties().containsKey(field.getName())),"String_Node_Str",field.getName(),pluginType,pluginName);
  }
  ArtifactId artifactId=pluginEntry.getKey().getArtifactId();
  try {
    pluginInstantiator.addArtifact(pluginEntry.getKey().getLocation(),artifactId);
  }
 catch (  IOException e) {
    Throwables.propagate(e);
  }
  return new Plugin(artifactId,pluginEntry.getValue(),properties);
}
Program: 6483
Project: 6483
Buggy source:
/** 
 * Returns a   {@link SortedMap} of plugin artifact to plugin available for the given artifact. The keysare sorted by the  {@link ArtifactDescriptor} for the artifact that contains plugins available to the givenartifact.
 * @param artifactId the id of the artifact to get plugins for
 * @param pluginType the type of plugins to get
 * @param pluginName the name of plugins to get
 * @return an unmodifiable sorted map from plugin artifact to plugins in that artifact
 * @throws IOException if there was an exception reading plugin metadata from the artifact store
 */
public SortedMap<ArtifactDescriptor,PluginClass> getPlugins(Id.Artifact artifactId,String pluginType,String pluginName) throws IOException, PluginNotExistsException {
  return artifactStore.getPluginClasses(artifactId,pluginType,pluginName);
}

Fixed version (ground truth):
/** 
 * Returns a   {@link SortedMap} of plugin artifact to plugin available for the given artifact. The keysare sorted by the  {@link ArtifactDescriptor} for the artifact that contains plugins available to the givenartifact.
 * @param artifactId the id of the artifact to get plugins for
 * @param pluginType the type of plugins to get
 * @param pluginName the name of plugins to get
 * @return an unmodifiable sorted map from plugin artifact to plugins in that artifact
 * @throws ArtifactNotFoundException if the given artifact does not exist
 * @throws IOException if there was an exception reading plugin metadata from the artifact store
 */
public SortedMap<ArtifactDescriptor,PluginClass> getPlugins(Id.Artifact artifactId,String pluginType,String pluginName) throws IOException, PluginNotExistsException, ArtifactNotFoundException {
  return artifactStore.getPluginClasses(artifactId,pluginType,pluginName);
}
Program: 6486
Project: 6486
Buggy source:
@Override public void run(){
  runThread=Thread.currentThread();
  LOG.info("String_Node_Str",name);
  SettableFuture<String> completionFuture=SettableFuture.create();
  for (  Service service : services) {
    service.addListener(createServiceListener(service.getClass().getName(),completionFuture),Threads.SAME_THREAD_EXECUTOR);
  }
  Services.chainStart(services.get(0),services.subList(1,services.size()).toArray(new Service[0]));
  LOG.info("String_Node_Str",name);
  try {
    completionFuture.get();
  }
 catch (  InterruptedException e) {
    LOG.debug("String_Node_Str",name);
    Thread.currentThread().interrupt();
  }
catch (  ExecutionException e) {
    throw Throwables.propagate(e.getCause());
  }
  List<Service> reverse=Lists.reverse(services);
  Services.chainStop(reverse.get(0),reverse.subList(1,reverse.size()).toArray(new Service[0]));
  LOG.info("String_Node_Str",name);
}

Fixed version (ground truth):
@Override public void run(){
  runThread=Thread.currentThread();
  LOG.info("String_Node_Str",name);
  SettableFuture<String> completionFuture=SettableFuture.create();
  for (  Service service : services) {
    service.addListener(createServiceListener(service.getClass().getName(),completionFuture),Threads.SAME_THREAD_EXECUTOR);
  }
  Futures.getUnchecked(Services.chainStart(services.get(0),services.subList(1,services.size()).toArray(new Service[0])));
  LOG.info("String_Node_Str",name);
  try {
    completionFuture.get();
  }
 catch (  InterruptedException e) {
    LOG.debug("String_Node_Str",name);
    Thread.currentThread().interrupt();
  }
catch (  ExecutionException e) {
    throw Throwables.propagate(e.getCause());
  }
  List<Service> reverse=Lists.reverse(services);
  Futures.getUnchecked(Services.chainStop(reverse.get(0),reverse.subList(1,reverse.size()).toArray(new Service[0])));
  LOG.info("String_Node_Str",name);
}
Program: 6488
Project: 6488
Buggy source:
@Override public void run(){
  runThread=Thread.currentThread();
  LOG.info("String_Node_Str",name);
  SettableFuture<String> completionFuture=SettableFuture.create();
  for (  Service service : services) {
    service.addListener(createServiceListener(service.getClass().getName(),completionFuture),Threads.SAME_THREAD_EXECUTOR);
  }
  Services.chainStart(services.get(0),services.subList(1,services.size()).toArray(new Service[0]));
  LOG.info("String_Node_Str",name);
  try {
    completionFuture.get();
  }
 catch (  InterruptedException e) {
    LOG.debug("String_Node_Str",name);
    Thread.currentThread().interrupt();
  }
catch (  ExecutionException e) {
    throw Throwables.propagate(e.getCause());
  }
  List<Service> reverse=Lists.reverse(services);
  Services.chainStop(reverse.get(0),reverse.subList(1,reverse.size()).toArray(new Service[0]));
  LOG.info("String_Node_Str",name);
}

Fixed version (ground truth):
@Override public void run(){
  runThread=Thread.currentThread();
  LOG.info("String_Node_Str",name);
  SettableFuture<String> completionFuture=SettableFuture.create();
  for (  Service service : services) {
    service.addListener(createServiceListener(service.getClass().getName(),completionFuture),Threads.SAME_THREAD_EXECUTOR);
  }
  Futures.getUnchecked(Services.chainStart(services.get(0),services.subList(1,services.size()).toArray(new Service[0])));
  LOG.info("String_Node_Str",name);
  try {
    completionFuture.get();
  }
 catch (  InterruptedException e) {
    LOG.debug("String_Node_Str",name);
    Thread.currentThread().interrupt();
  }
catch (  ExecutionException e) {
    throw Throwables.propagate(e.getCause());
  }
  List<Service> reverse=Lists.reverse(services);
  Futures.getUnchecked(Services.chainStop(reverse.get(0),reverse.subList(1,reverse.size()).toArray(new Service[0])));
  LOG.info("String_Node_Str",name);
}
Program: 6489
Project: 6489
Buggy source:
@Inject public LocalApplicationManager(CConfiguration configuration,PipelineFactory pipelineFactory,NamespacedLocationFactory namespacedLocationFactory,Store store,StreamConsumerFactory streamConsumerFactory,QueueAdmin queueAdmin,DatasetFramework datasetFramework,@Named("String_Node_Str") DatasetFramework inMemoryDatasetFramework,StreamAdmin streamAdmin,Scheduler scheduler,AdapterService adapterService,@Assisted ProgramTerminator programTerminator,MetricStore metricStore,UsageRegistry usageRegistry,ArtifactRepository artifactRepository,BusinessMetadataStore businessMetadataStore){
  this.configuration=configuration;
  this.namespacedLocationFactory=namespacedLocationFactory;
  this.pipelineFactory=pipelineFactory;
  this.store=store;
  this.streamConsumerFactory=streamConsumerFactory;
  this.queueAdmin=queueAdmin;
  this.programTerminator=programTerminator;
  this.datasetFramework=datasetFramework;
  this.inMemoryDatasetFramework=inMemoryDatasetFramework;
  this.streamAdmin=streamAdmin;
  this.scheduler=scheduler;
  this.metricStore=metricStore;
  this.adapterService=adapterService;
  this.usageRegistry=usageRegistry;
  this.artifactRepository=artifactRepository;
  this.businessMetadataStore=businessMetadataStore;
}

Fixed version (ground truth):
@Inject public LocalApplicationManager(CConfiguration configuration,PipelineFactory pipelineFactory,NamespacedLocationFactory namespacedLocationFactory,Store store,StreamConsumerFactory streamConsumerFactory,QueueAdmin queueAdmin,DatasetFramework datasetFramework,@Named("String_Node_Str") DatasetFramework inMemoryDatasetFramework,StreamAdmin streamAdmin,Scheduler scheduler,@Assisted ProgramTerminator programTerminator,MetricStore metricStore,UsageRegistry usageRegistry,ArtifactRepository artifactRepository,BusinessMetadataStore businessMetadataStore){
  this.configuration=configuration;
  this.namespacedLocationFactory=namespacedLocationFactory;
  this.pipelineFactory=pipelineFactory;
  this.store=store;
  this.streamConsumerFactory=streamConsumerFactory;
  this.queueAdmin=queueAdmin;
  this.programTerminator=programTerminator;
  this.datasetFramework=datasetFramework;
  this.inMemoryDatasetFramework=inMemoryDatasetFramework;
  this.streamAdmin=streamAdmin;
  this.scheduler=scheduler;
  this.metricStore=metricStore;
  this.usageRegistry=usageRegistry;
  this.artifactRepository=artifactRepository;
  this.businessMetadataStore=businessMetadataStore;
}
Program: 6490
Project: 6490
Buggy source:
@Override public ListenableFuture<O> deploy(Id.Namespace namespace,@Nullable String appId,I input) throws Exception {
  Pipeline<O> pipeline=pipelineFactory.getPipeline();
  pipeline.addLast(new LocalArtifactLoaderStage(configuration,store,namespace,appId,artifactRepository));
  pipeline.addLast(new ApplicationVerificationStage(store,datasetFramework,adapterService));
  pipeline.addLast(new DeployDatasetModulesStage(configuration,namespace,datasetFramework,inMemoryDatasetFramework));
  pipeline.addLast(new CreateDatasetInstancesStage(configuration,datasetFramework,namespace));
  pipeline.addLast(new CreateStreamsStage(namespace,streamAdmin));
  pipeline.addLast(new DeletedProgramHandlerStage(store,programTerminator,streamConsumerFactory,queueAdmin,metricStore,businessMetadataStore));
  pipeline.addLast(new ProgramGenerationStage(configuration,namespacedLocationFactory));
  pipeline.addLast(new ApplicationRegistrationStage(store,usageRegistry));
  pipeline.addLast(new CreateSchedulesStage(scheduler));
  return pipeline.execute(input);
}

Fixed version (ground truth):
@Override public ListenableFuture<O> deploy(Id.Namespace namespace,@Nullable String appId,I input) throws Exception {
  Pipeline<O> pipeline=pipelineFactory.getPipeline();
  pipeline.addLast(new LocalArtifactLoaderStage(configuration,store,namespace,appId,artifactRepository));
  pipeline.addLast(new ApplicationVerificationStage(store,datasetFramework));
  pipeline.addLast(new DeployDatasetModulesStage(configuration,namespace,datasetFramework,inMemoryDatasetFramework));
  pipeline.addLast(new CreateDatasetInstancesStage(configuration,datasetFramework,namespace));
  pipeline.addLast(new CreateStreamsStage(namespace,streamAdmin));
  pipeline.addLast(new DeletedProgramHandlerStage(store,programTerminator,streamConsumerFactory,queueAdmin,metricStore,businessMetadataStore));
  pipeline.addLast(new ProgramGenerationStage(configuration,namespacedLocationFactory));
  pipeline.addLast(new ApplicationRegistrationStage(store,usageRegistry));
  pipeline.addLast(new CreateSchedulesStage(scheduler));
  return pipeline.execute(input);
}
Program: 6491
Project: 6491
Buggy source:
public ApplicationVerificationStage(Store store,DatasetFramework dsFramework,AdapterService adapterService){
  super(TypeToken.of(ApplicationDeployable.class));
  this.store=store;
  this.dsFramework=dsFramework;
  this.adapterService=adapterService;
}

Fixed version (ground truth):
public ApplicationVerificationStage(Store store,DatasetFramework dsFramework){
  super(TypeToken.of(ApplicationDeployable.class));
  this.store=store;
  this.dsFramework=dsFramework;
}
Program: 6492
Project: 6492
Buggy source:
@Override public void configure(){
  setMainClass(mainSparkClass);
}

Fixed version (ground truth):
@Override public void configure(){
  setMainClass(ScalaFileCountProgram.class);
}
Program: 6493
Project: 6493
Buggy source:
/** 
 * Since calling one of the send methods multiple times logs a warning, upon transaction failures this method is called to allow setting the failure response without an additional warning.
 */
public void setTransactionFailureResponse(Throwable t){
  Throwable rootCause=Throwables.getRootCause(t);
  ByteBuffer buffer=Charsets.UTF_8.encode("String_Node_Str" + Throwables.getStackTraceAsString(rootCause));
  bufferedResponse=new BufferedResponse(HttpResponseStatus.INTERNAL_SERVER_ERROR.getCode(),ChannelBuffers.wrappedBuffer(buffer),"String_Node_Str" + Charsets.UTF_8.name(),null);
}

Fixed version (ground truth):
/** 
 * Since calling one of the send methods multiple times logs a warning, upon transaction failures this method is called to allow setting the failure response without an additional warning.
 */
public void setTransactionFailureResponse(Throwable t){
  LOG.error("String_Node_Str",t);
  @SuppressWarnings("String_Node_Str") ByteBuffer buffer=Charsets.UTF_8.encode("String_Node_Str" + Throwables.getRootCause(t).getMessage());
  bufferedResponse=new BufferedResponse(HttpResponseStatus.INTERNAL_SERVER_ERROR.getCode(),ChannelBuffers.wrappedBuffer(buffer),"String_Node_Str" + Charsets.UTF_8.name(),null);
}
Program: 6494
Project: 6494
Buggy source:
@GET @Path("String_Node_Str") public void streamLineage(HttpRequest request,HttpResponder responder,@PathParam("String_Node_Str") String namespaceId,@PathParam("String_Node_Str") String stream,@QueryParam("String_Node_Str") String startStr,@QueryParam("String_Node_Str") String endStr,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") int levels) throws Exception {
  checkLevels(levels);
  TimeRange range=parseRange(startStr,endStr);
  Id.Stream streamId=Id.Stream.from(namespaceId,stream);
  Lineage lineage=lineageAdmin.computeLineage(streamId,range.getStart(),range.getEnd(),levels);
  responder.sendJson(HttpResponseStatus.OK,new LineageRecord(TimeUnit.MILLISECONDS.toSeconds(range.getStart()),TimeUnit.MILLISECONDS.toSeconds(range.getEnd()),lineage.getRelations()),LineageRecord.class,GSON);
}

Fixed version (ground truth):
@GET @Path("String_Node_Str") public void streamLineage(HttpRequest request,HttpResponder responder,@PathParam("String_Node_Str") String namespaceId,@PathParam("String_Node_Str") String stream,@QueryParam("String_Node_Str") String startStr,@QueryParam("String_Node_Str") String endStr,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") int levels) throws Exception {
  checkLevels(levels);
  TimeRange range=parseRange(startStr,endStr);
  Id.Stream streamId=Id.Stream.from(namespaceId,stream);
  Lineage lineage=lineageAdmin.computeLineage(streamId,range.getStart(),range.getEnd(),levels);
  responder.sendJson(HttpResponseStatus.OK,LineageSerializer.toLineageRecord(TimeUnit.MILLISECONDS.toSeconds(range.getStart()),TimeUnit.MILLISECONDS.toSeconds(range.getEnd()),lineage),LineageRecord.class,GSON);
}
Program: 6495
Project: 6495
Buggy source:
@GET @Path("String_Node_Str") public void datasetLineage(HttpRequest request,HttpResponder responder,@PathParam("String_Node_Str") String namespaceId,@PathParam("String_Node_Str") String datasetId,@QueryParam("String_Node_Str") String startStr,@QueryParam("String_Node_Str") String endStr,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") int levels) throws Exception {
  checkLevels(levels);
  TimeRange range=parseRange(startStr,endStr);
  Id.DatasetInstance datasetInstance=Id.DatasetInstance.from(namespaceId,datasetId);
  Lineage lineage=lineageAdmin.computeLineage(datasetInstance,range.getStart(),range.getEnd(),levels);
  responder.sendJson(HttpResponseStatus.OK,new LineageRecord(TimeUnit.MILLISECONDS.toSeconds(range.getStart()),TimeUnit.MILLISECONDS.toSeconds(range.getEnd()),lineage.getRelations()),LineageRecord.class,GSON);
}

Fixed version (ground truth):
@GET @Path("String_Node_Str") public void datasetLineage(HttpRequest request,HttpResponder responder,@PathParam("String_Node_Str") String namespaceId,@PathParam("String_Node_Str") String datasetId,@QueryParam("String_Node_Str") String startStr,@QueryParam("String_Node_Str") String endStr,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") int levels) throws Exception {
  checkLevels(levels);
  TimeRange range=parseRange(startStr,endStr);
  Id.DatasetInstance datasetInstance=Id.DatasetInstance.from(namespaceId,datasetId);
  Lineage lineage=lineageAdmin.computeLineage(datasetInstance,range.getStart(),range.getEnd(),levels);
  responder.sendJson(HttpResponseStatus.OK,LineageSerializer.toLineageRecord(TimeUnit.MILLISECONDS.toSeconds(range.getStart()),TimeUnit.MILLISECONDS.toSeconds(range.getEnd()),lineage),LineageRecord.class,GSON);
}
Program: 6499
Project: 6499
Buggy source:
@Override public Set<MetadataSearchResultRecord> searchMetadata(String namespaceId,String searchQuery,@Nullable final MetadataSearchTargetType type) throws NotFoundException {
  Iterable<BusinessMetadataRecord> results;
  if (type == null) {
    results=businessMds.searchMetadata(namespaceId,searchQuery);
  }
 else {
    results=businessMds.searchMetadataOnType(namespaceId,searchQuery,type);
  }
  Set<MetadataSearchResultRecord> searchResultRecords=new LinkedHashSet<>();
  for (  BusinessMetadataRecord bmr : results) {
    MetadataSearchTargetType finalType=type;
    if (finalType == null || finalType == MetadataSearchTargetType.ALL) {
      Id.NamespacedId namespacedId=bmr.getTargetId();
      String targetType=getTargetType(namespacedId);
      finalType=getMetadataSearchTarget(targetType);
    }
    MetadataSearchResultRecord msr=new MetadataSearchResultRecord(bmr.getTargetId(),finalType);
    searchResultRecords.add(msr);
  }
  return searchResultRecords;
}

Fixed version (ground truth):
@Override public Set<MetadataSearchResultRecord> searchMetadata(String namespaceId,String searchQuery,@Nullable final MetadataSearchTargetType type) throws NotFoundException {
  Iterable<BusinessMetadataRecord> results;
  if (type == null) {
    results=businessMds.searchMetadata(namespaceId,searchQuery);
  }
 else {
    results=businessMds.searchMetadataOnType(namespaceId,searchQuery,type);
  }
  Set<MetadataSearchResultRecord> searchResultRecords=new LinkedHashSet<>();
  for (  BusinessMetadataRecord bmr : results) {
    MetadataSearchResultRecord msr=new MetadataSearchResultRecord(bmr.getTargetId());
    searchResultRecords.add(msr);
  }
  return searchResultRecords;
}
Program: 6500
Project: 6500
Buggy source:
private void addRelations(Set<Relation> lineageRelations){
  for (  Relation relation : lineageRelations) {
    String dataKey=makeDataKey(relation.getData());
    String programKey=makeProgramKey(relation.getProgram());
    RelationRecord relationRecord=new RelationRecord(dataKey,programKey,relation.getAccess().toString().toLowerCase(),convertRuns(relation.getRun()),convertComponents(relation.getComponents()));
    relations.add(relationRecord);
    programs.put(programKey,ImmutableMap.of("String_Node_Str",toProgramRecord(relation.getProgram())));
    data.put(dataKey,ImmutableMap.of("String_Node_Str",toDataRecord(relation.getData())));
  }
}

Fixed version (ground truth):
private void addRelations(Set<Relation> lineageRelations){
  for (  Relation relation : lineageRelations) {
    String dataKey=makeDataKey(relation.getData());
    String programKey=makeProgramKey(relation.getProgram());
    RelationRecord relationRecord=new RelationRecord(dataKey,programKey,relation.getAccess().toString().toLowerCase(),convertRuns(relation.getRun()),convertComponents(relation.getComponents()));
    relations.add(relationRecord);
    programs.put(programKey,ImmutableMap.of("String_Node_Str",relation.getProgram()));
    data.put(dataKey,ImmutableMap.of("String_Node_Str",relation.getData()));
  }
}
Program: 6505
Project: 6505
Buggy source:
@Override public void publish(MetadataChangeRecord changeRecord){
  byte[] changesToPublish=Bytes.toBytes(GSON.toJson(changeRecord));
  Object partitionKey=changeRecord.getPrevious().getTargetId();
  @SuppressWarnings("String_Node_Str") ByteBuffer message=ByteBuffer.wrap(changesToPublish);
  try {
    producer.get().send(new KeyedMessage<>(topic,Math.abs(partitionKey.hashCode()),message));
  }
 catch (  Exception e) {
    LOG.error("String_Node_Str",topic,brokerList,e);
  }
}

Fixed version (ground truth):
@Override public void publish(MetadataChangeRecord changeRecord){
  byte[] changesToPublish=Bytes.toBytes(GSON.toJson(changeRecord));
  Object partitionKey=changeRecord.getPrevious().getEntityId();
  @SuppressWarnings("String_Node_Str") ByteBuffer message=ByteBuffer.wrap(changesToPublish);
  try {
    producer.get().send(new KeyedMessage<>(topic,Math.abs(partitionKey.hashCode()),message));
  }
 catch (  Exception e) {
    LOG.error("String_Node_Str",topic,brokerList,e);
  }
}
Program: 6506
Project: 6506
Buggy source:
private void addMetadataRecord(BusinessMetadataDataset dataset,MetadataRecord record){
  for (  Map.Entry<String,String> entry : record.getProperties().entrySet()) {
    dataset.setProperty(record.getTargetId(),entry.getKey(),entry.getValue());
  }
  dataset.addTags(record.getTargetId(),record.getTags().toArray(new String[0]));
}

Fixed version (ground truth):
private void addMetadataRecord(BusinessMetadataDataset dataset,MetadataRecord record){
  for (  Map.Entry<String,String> entry : record.getProperties().entrySet()) {
    dataset.setProperty(record.getEntityId(),entry.getKey(),entry.getValue());
  }
  dataset.addTags(record.getEntityId(),record.getTags().toArray(new String[0]));
}
Program: 6507
Project: 6507
Buggy source:
@Override public void configurePipeline(PipelineConfigurer pipelineConfigurer){
  String pluginId=getPluginId();
  Class<Object> driver=pipelineConfigurer.usePluginClass(config.jmsPluginType,config.jmsPluginName,pluginId,PluginProperties.builder().build());
  Preconditions.checkArgument(driver != null,"String_Node_Str");
}

Fixed version (ground truth):
@Override public void configurePipeline(PipelineConfigurer pipelineConfigurer){
  String pluginId=getPluginId();
  Class<Object> driver=pipelineConfigurer.usePluginClass(config.jmsPluginType,config.jmsPluginName,pluginId,PluginProperties.builder().build());
  Preconditions.checkArgument(driver != null,"String_Node_Str" + "String_Node_Str",config.jmsPluginName,config.jmsPluginType);
}
Program: 6508
Project: 6508
Buggy source:
@Override public void configurePipeline(PipelineConfigurer pipelineConfigurer){
  String pluginId=getPluginId();
  Class<Object> driver=pipelineConfigurer.usePluginClass(config.jmsPluginType,config.jmsPluginName,pluginId,PluginProperties.builder().build());
  Preconditions.checkArgument(driver != null,"String_Node_Str");
}

Fixed version (ground truth):
@Override public void configurePipeline(PipelineConfigurer pipelineConfigurer){
  String pluginId=getPluginId();
  Class<Object> driver=pipelineConfigurer.usePluginClass(config.jmsPluginType,config.jmsPluginName,pluginId,PluginProperties.builder().build());
  Preconditions.checkArgument(driver != null,"String_Node_Str" + "String_Node_Str",config.jmsPluginName,config.jmsPluginType);
}
Program: 6509
Project: 6509
Buggy source:
@Override public Class<?> loadClass(String s) throws ClassNotFoundException {
  if (s.startsWith("String_Node_Str")) {
    return twillClassLoader.loadClass(s);
  }
  return super.loadClass(s);
}

Fixed version (ground truth):
@Override public Class<?> loadClass(String s) throws ClassNotFoundException {
  if (s.startsWith("String_Node_Str") || s.equals("String_Node_Str")) {
    return twillClassLoader.loadClass(s);
  }
  return super.loadClass(s);
}
Program: 6510
Project: 6510
Buggy source:
@Override public Set<MetadataRecord> getMetadata(Id.NamespacedId entityId) throws NotFoundException {
  ensureEntityExists(entityId);
  return ImmutableSet.of(businessMds.getMetadata(entityId));
}

Fixed version (ground truth):
@Override public Set<MetadataRecord> getMetadata(Id.NamespacedId entityId) throws NotFoundException {
  entityValidator.ensureEntityExists(entityId);
  return ImmutableSet.of(businessMds.getMetadata(entityId));
}
Program: 6511
Project: 6511
Buggy source:
@Override public Map<String,String> getProperties(Id.NamespacedId entityId) throws NotFoundException {
  ensureEntityExists(entityId);
  return businessMds.getProperties(entityId);
}

Fixed version (ground truth):
@Override public Map<String,String> getProperties(Id.NamespacedId entityId) throws NotFoundException {
  entityValidator.ensureEntityExists(entityId);
  return businessMds.getProperties(entityId);
}