code: public static String marshalCorrelationKey( CorrelationKey key ) {
          if( key == null ) {
              return "";
          }
          StringBuffer result = new StringBuffer();
          if( ! key.getProperties().isEmpty() ) {
              Iterator<CorrelationProperty<?>> iter = key.getProperties().iterator();
              CorrelationProperty<?> prop = iter.next();
              if( prop != null ) {
                  result.append(prop.getValue().toString());
              }
              while( iter.hasNext() ) {
                  prop = iter.next();
                  if( prop != null ) {
                      result.append(":").append(prop.getValue().toString());
                  }
              }
          }
          return result.toString();
      }
docs: This method has been made "static"ally available so that
  non-JAXB code does not have to (unnecesarily) instantiate
  an instance fo this class.
  
  @param key A {@link CorrelationKey}
  @return A {@link String} equivalent of the key