### Question:
SessionIdFormat { @Nonnull public String createSessionId(@Nonnull final String sessionId, @Nullable final String memcachedId) { if ( LOG.isDebugEnabled() ) { LOG.debug( "Creating new session id with orig id '" + sessionId + "' and memcached id '" + memcachedId + "'." ); } if ( memcachedId == null ) { return sessionId; } final int idx = sessionId.indexOf( '.' ); if ( idx < 0 ) { return sessionId + "-" + memcachedId; } else { return sessionId.substring( 0, idx ) + "-" + memcachedId + sessionId.substring( idx ); } } SessionIdFormat();  SessionIdFormat(final StorageKeyFormat storageKeyFormat); @Nonnull String createSessionId(@Nonnull final String sessionId, @Nullable final String memcachedId); @Nonnull String createNewSessionId( @Nonnull final String sessionId, @Nonnull final String newMemcachedId); @Nonnull String changeJvmRoute( @Nonnull final String sessionId, @Nonnull final String newJvmRoute ); boolean isValid( @Nullable final String sessionId ); @CheckForNull String extractMemcachedId( @Nonnull final String sessionId ); @CheckForNull String extractJvmRoute( @Nonnull final String sessionId ); @Nonnull String stripJvmRoute( @Nonnull final String sessionId ); @Nonnull String createLockName( @Nonnull final String sessionId ); @Nonnull String createValidityInfoKeyName( @Nonnull final String origKey ); @Nonnull String createBackupKey( @Nonnull final String origKey ); boolean isBackupKey( @Nonnull final String key );  }### Answer:
@Test public void testCreateSessionId() { final SessionIdFormat cut = new SessionIdFormat(); assertEquals( "foo-n", cut.createSessionId( "foo", "n") ); assertEquals( "foo-n.jvm1", cut.createSessionId( "foo.jvm1", "n") ); assertEquals( "foo-n.j-v-m1", cut.createSessionId( "foo.j-v-m1", "n") ); }