code: private List<Tuple> tuplesResult(EntityKey[] keys, TupleContext tupleContext, ResourceIterator<Node> nodes) {
  		// The list is initialized with null because some keys might not have a corresponding node
  		Tuple[] tuples = new Tuple[keys.length];
  		while ( nodes.hasNext() ) {
  			Node node = nodes.next();
  			for ( int i = 0; i < keys.length; i++ ) {
  				if ( matches( node, keys[i].getColumnNames(), keys[i].getColumnValues() ) ) {
  					tuples[i] = new Tuple( EmbeddedNeo4jTupleSnapshot.fromNode( node,
  							tupleContext.getTupleTypeContext().getAllAssociatedEntityKeyMetadata(),
  							tupleContext.getTupleTypeContext().getAllRoles(),
  							keys[i].getMetadata() ), SnapshotType.UPDATE );
  					// We assume there are no duplicated keys
  					break;
  				}
  			}
  		}
  		return Arrays.asList( tuples );
  	}
docs: /*
  This method assumes that the nodes might not be in the same order as the keys and some keys might not have a
  matching result in the db.