{
final ContextFactoryMapper contextFactoryMapper = ContextFactoryMapper.getFactory() ;
try
{
final String coordinationType = createCoordinationContext.getCoordinationType().getValue() ;
final ContextFactory contextFactory = contextFactoryMapper.getContextFactory(coordinationType) ;
if (contextFactory != null)
{
final CoordinationContextType coordinationContext ;
final AddressingContext responseAddressingContext ;
try
{
final AttributedUnsignedIntType expiresElement = createCoordinationContext.getExpires() ;
final Long expires = (expiresElement == null ? null : new Long(expiresElement.getValue())) ;
coordinationContext = contextFactory.create(coordinationType, expires, createCoordinationContext.getCurrentContext()) ;
responseAddressingContext = AddressingContext.createResponseContext(addressingContext, MessageId.getMessageId()) ;
}
catch (final InvalidCreateParametersException invalidCreateParametersException)
{
final AddressingContext faultAddressingContext = AddressingContext.createFaultContext(addressingContext, MessageId.getMessageId()) ;