public static Gfsh getInstance(boolean launchShell, String[] args, GfshConfig gfshConfig) {
    Gfsh localGfshInstance = instance;
    if (localGfshInstance == null) {
      synchronized (INSTANCE_LOCK) {
        localGfshInstance = instance;
        if (localGfshInstance == null) {
          localGfshInstance = new Gfsh(launchShell, args, gfshConfig);
          localGfshInstance.executeInitFileIfPresent();
          instance = localGfshInstance;
        }
      }
    }

    return instance;
  }
Create a GemFire shell using the specified arguments. Console for user inputs is made available
if <code>launchShell</code> is set to <code>true</code>.

@param launchShell whether to make Console available
@param args arguments to be used to create a GemFire shell instance or execute command
geode-gfsh/src/main/java/org/apache/geode/management/internal/cli/shell/Gfsh.java