private void updateCustomRelationshipModifiedTimestampsFor(
		  Node node,
		  List<RelationshipType> customRelationshipTypes,
		  Direction direction,
		  long currentTime){
	  List<Relationship> relationshipsToUpdate = null;
	  for (RelationshipType customRelationshipType : customRelationshipTypes){
		  for (Relationship relationship : node.getRelationships(direction)){
			  if (relationship.isType(customRelationshipType)){
				  // Found a relationship to update
				  if (relationshipsToUpdate == null)
					  relationshipsToUpdate = new ArrayList<Relationship>();
				  relationshipsToUpdate.add(relationship);
			  }
		  }
	  }
	  if (relationshipsToUpdate != null){
		  List<PropertyContainer> propertyContainersToUpdate =
				  new ArrayList<PropertyContainer>(relationshipsToUpdate.size() * 2);
		  for (Relationship relationshipToUpdate : relationshipsToUpdate){
			  propertyContainersToUpdate.add(relationshipToUpdate);
			  // Also update the node at the other end of the relatioship
			  if (relationshipToUpdate.getEndNode().getId() != node.getId()){
				  propertyContainersToUpdate.add(relationshipToUpdate.getEndNode());
			  }else if (relationshipToUpdate.getStartNode().getId() != node.getId()){
				  propertyContainersToUpdate.add(relationshipToUpdate.getStartNode());				  
			  }
		  }
		  updateTimestampsFor(propertyContainersToUpdate, currentTime);
	  }
	  
  }