Problem with Displaying Images in another State

Hello,
I am getting an error when I try to display an Image in another class/state. The error I am getting is “Uncaught exception thrown in Thread[LWJGL Renderer Thread, 5m main] Null Pointer Exception”

Here is my code:

Main:
[java]package mygame;

import com.jme3.app.SimpleApplication;
import com.jme3.renderer.RenderManager;
import com.jme3.system.AppSettings;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;

public class Main extends SimpleApplication {

MainMenu MainMenu = new MainMenu();

public static AppSettings cfg = new AppSettings(true);

public static void main(String[] args) {
    Main app = new Main();
    
    // All the settings         Can be changed when the game starts
    
    cfg.setFrameRate(60); // Frame Rate
    cfg.setVSync(true);   // Prevents page tearing
    cfg.setFrequency(cfg.getFrequency()); // Set to screen refresh rate
    cfg.setResolution(1920, 1080);   
    cfg.setFullscreen(true); 
    cfg.setSamples(2);    // Anti-aliasing
    cfg.setTitle("Ghosts®"); // Window name
    
    try {
      cfg.setIcons(new BufferedImage[]{ImageIO.read(new File("assets/Interface/icon.gif"))}); // Window Icon
    } catch (IOException ex) {
      Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Icon missing.", ex);
    }
    
    cfg.setSettingsDialogImage("Interface/Splash.png"); // Splash screen
    app.setSettings(cfg);
    
    app.start();
}

@Override
public void simpleInitApp() {
    stateManager.attach(MainMenu);
}

@Override
public void simpleUpdate(float tpf) {
    //TODO: add update code
}

@Override
public void simpleRender(RenderManager rm) {
    //TODO: add render code
}

}[/java]

Main Menu Class
[java]package mygame;

import com.jme3.app.Application;
import com.jme3.app.SimpleApplication;
import com.jme3.app.state.AbstractAppState;
import com.jme3.app.state.AppStateManager;
import com.jme3.asset.AssetManager;
import com.jme3.scene.Node;
import com.jme3.system.AppSettings;
import com.jme3.ui.Picture;

public class MainMenu extends AbstractAppState {

private SimpleApplication app;

private Node rootNode;
private Node guiNode;
private AssetManager assetManager;
private AppSettings cfg;

@Override
public void initialize(AppStateManager stateManager, Application app) {
    super.initialize(stateManager, app);
    this.app = (SimpleApplication) app;
    
    cfg = Main.cfg;
    
    this.rootNode = this.app.getRootNode();
    this.guiNode = this.app.getGuiNode();
    
    Picture pic = new Picture("HUD Picture");
    pic.setImage(assetManager, "/Interface/Splash.png", true);   <strong>Error is occurring here</strong>
    pic.setWidth(cfg.getWidth()/2);
    pic.setHeight(cfg.getHeight()/2);
    pic.setPosition(cfg.getWidth()/4, cfg.getHeight()/4);
    guiNode.attachChild(pic);
}

@Override
public void update(float tpf) {
}

@Override
public void cleanup() {
    super.cleanup();
}

}[/java]

What am I doing wrong. Also I did check to see that Splash.png exists in the interface folder. Thanks for any assistance.

EDIT: I forgot to do this line: this.assetManager = this.app.GetAssetManager(); after line 29 in the Main Menu Class.