final List<BasicDBObject> forThisNodeOrGlobal = ImmutableList.of(
new BasicDBObject(MessageInput.FIELD_NODE_ID, nodeId),
new BasicDBObject(MessageInput.FIELD_GLOBAL, true));
final List<BasicDBObject> query = ImmutableList.of(
new BasicDBObject("_id", new ObjectId(id)),
new BasicDBObject("$or", forThisNodeOrGlobal));
final DBObject o = findOne(InputImpl.class, new BasicDBObject("$and", query));
return new InputImpl((ObjectId) o.get("_id"), o.toMap());
}