Class javaClass )
throws SerializationException
{
if ( !( element instanceof MessageElement ) )
{
throw new SerializationException( "unsupportedType" );
}
MessageElement elem = (MessageElement) element;
if ( ( elem.getDeserializationContext( ) != null ) && !elem.isDirty( ) )
{
try
{
return elem.getValueAsType( elem.getType( ),
javaClass );
}
catch ( Exception e )
{
throw new SerializationException( "genericDeserializationError", e );
}
}
else
{
ObjectDeserializationContext deserializer = new ObjectDeserializationContext( elem, javaClass );
try
{
deserializer.parse( );
}
catch ( Exception e )
{
throw new SerializationException( "genericDeserializationError", e );
}
return deserializer.getValue( );
}
}