pub trait EntityAndLocalEntityConverter<E: Copy + Eq + Hash> {
// Required methods
fn entity_to_host_entity(
&self,
entity: &E
) -> Result<HostEntity, EntityDoesNotExistError>;
fn entity_to_remote_entity(
&self,
entity: &E
) -> Result<RemoteEntity, EntityDoesNotExistError>;
fn entity_to_owned_entity(
&self,
entity: &E
) -> Result<OwnedLocalEntity, EntityDoesNotExistError>;
fn host_entity_to_entity(
&self,
host_entity: &HostEntity
) -> Result<E, EntityDoesNotExistError>;
fn remote_entity_to_entity(
&self,
remote_entity: &RemoteEntity
) -> Result<E, EntityDoesNotExistError>;
}