Program: 93602
Project: 93602
Buggy source:
@Override public void handleRequest(HttpServerExchange exchange,RequestContext context) throws Exception {
  if (context.getDBName() != null && context.getCollectionName() != null) {
    DBObject collProps;
    if (!cacheEnabled) {
      collProps=CollectionDAO.getCollectionProps(context.getDBName(),context.getCollectionName());
      if (collProps != null)       collProps.put("String_Node_Str",false);
    }
 else {
      LoadingCache<String,Optional<DBObject>> collectionPropsCache=LocalCachesSingleton.getInstance().getCollectionCache();
      Optional<DBObject> _collMetadata=collectionPropsCache.getIfPresent(context.getDBName() + SEPARATOR + context.getCollectionName());
      if (_collMetadata != null) {
        if (_collMetadata.isPresent()) {
          collProps=_collMetadata.get();
          collProps.put("String_Node_Str",true);
        }
 else         collProps=null;
      }
 else {
        try {
          _collMetadata=collectionPropsCache.getUnchecked(context.getDBName() + SEPARATOR + context.getCollectionName());
        }
 catch (        UncheckedExecutionException uex) {
          if (uex.getCause() instanceof MongoException) {
            throw (MongoException)uex.getCause();
          }
 else {
            throw uex;
          }
        }
        if (_collMetadata.isPresent()) {
          collProps=_collMetadata.get();
          collProps.put("String_Node_Str",false);
        }
 else         collProps=null;
      }
    }
    context.setCollectionProps(collProps);
  }
  next.handleRequest(exchange,context);
}

Fixed version (ground truth):
@Override public void handleRequest(HttpServerExchange exchange,RequestContext context) throws Exception {
  if (context.getDBName() != null && context.getCollectionName() != null) {
    DBObject collProps;
    if (!cacheEnabled) {
      collProps=CollectionDAO.getCollectionProps(context.getDBName(),context.getCollectionName());
      if (collProps != null)       collProps.put("String_Node_Str",false);
 else {
        ResponseHelper.endExchangeWithMessage(exchange,HttpStatus.SC_NOT_FOUND,"String_Node_Str" + context.getDBName() + "String_Node_Str"+ context.getCollectionName()+ "String_Node_Str");
        return;
      }
    }
 else {
      LoadingCache<String,Optional<DBObject>> collectionPropsCache=LocalCachesSingleton.getInstance().getCollectionCache();
      Optional<DBObject> _collMetadata=collectionPropsCache.getIfPresent(context.getDBName() + SEPARATOR + context.getCollectionName());
      if (_collMetadata != null) {
        if (_collMetadata.isPresent()) {
          collProps=_collMetadata.get();
          collProps.put("String_Node_Str",true);
        }
 else         collProps=null;
      }
 else {
        try {
          _collMetadata=collectionPropsCache.getUnchecked(context.getDBName() + SEPARATOR + context.getCollectionName());
        }
 catch (        UncheckedExecutionException uex) {
          if (uex.getCause() instanceof MongoException) {
            throw (MongoException)uex.getCause();
          }
 else {
            throw uex;
          }
        }
        if (_collMetadata.isPresent()) {
          collProps=_collMetadata.get();
          collProps.put("String_Node_Str",false);
        }
 else         collProps=null;
      }
    }
    if (collProps == null) {
      ResponseHelper.endExchangeWithMessage(exchange,HttpStatus.SC_NOT_FOUND,"String_Node_Str" + context.getDBName() + "String_Node_Str"+ context.getCollectionName()+ "String_Node_Str");
      return;
    }
    context.setCollectionProps(collProps);
  }
  next.handleRequest(exchange,context);
}