public static void init(Shell shell) {
   for (EnvironmentProperty environmentProperty : values()) {
     shell
         .getEnvironment()
         .setProperty(environmentProperty.getName(), environmentProperty.getValue(shell));
   }
 }
 public static void update(Shell shell) {
   for (EnvironmentProperty environmentProperty : values()) {
     if (environmentProperty.regularUpdateRequired) {
       shell
           .getEnvironment()
           .setProperty(environmentProperty.getName(), environmentProperty.getValue(shell));
     }
   }
 }
 @Override
 protected String getValue(Shell shell) {
   Interpreter interpreter = shell.getInterpreter();
   if (interpreter == null) {
     return shell.getEnvironment().getValue(INTERPRETER.name);
   } else {
     return interpreter.getName();
   }
 }