protected boolean shouldOverwrite( OverwritePrompter prompter, Props props, String message, String rememberMessage ) {
    boolean askOverwrite = Props.isInitialized() ? props.askAboutReplacingDatabaseConnections() : false;
    boolean overwrite = Props.isInitialized() ? props.replaceExistingDatabaseConnections() : true;
    if ( askOverwrite ) {
      if ( prompter != null ) {
        overwrite = prompter.overwritePrompt( message, rememberMessage, Props.STRING_ASK_ABOUT_REPLACING_DATABASES );
      }
    }
    return overwrite;
  }
@Test
  public void testShouldOverwrite() {
    assertTrue( meta.shouldOverwrite( null, null, null, null ) );
    Props.init( Props.TYPE_PROPERTIES_EMPTY );
    assertTrue( meta.shouldOverwrite( null, Props.getInstance(), "message", "remember" ) );

    Props.getInstance().setProperty( Props.STRING_ASK_ABOUT_REPLACING_DATABASES, "Y" );
    OverwritePrompter prompter = mock( OverwritePrompter.class );
    when( prompter.overwritePrompt( "message", "remember", Props.STRING_ASK_ABOUT_REPLACING_DATABASES ) )
      .thenReturn( false );
    assertFalse( meta.shouldOverwrite( prompter, Props.getInstance(), "message", "remember" ) );
  }