// Path: src/main/java/com/github/pemapmodder/pocketminegui/PocketMineGUI.java
// public class PocketMineGUI{
// 	public static Activity CURRENT_ROOT_ACTIVITY = null;
// 
// 	public static void main(String[] args){
// 		new ChooseServerActivity().init();
// 	}
// }


import com.github.pemapmodder.pocketminegui.PocketMineGUI;
import lombok.Getter;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.Border;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
		this(title, null);
	}

	public Activity(String title, Activity parent){
		super(title);
		this.parent = parent;
		if(parent != null){
			parent.setChild(this);
		}
	}

	public final void init(){
		if(!hasParent()){
			if(PocketMineGUI.CURRENT_ROOT_ACTIVITY != null){
				throw new IllegalStateException("Cannot init root activity when PocketMineGUI.CURRENT_ROOT_ACTIVITY is not null");
			}
			PocketMineGUI.CURRENT_ROOT_ACTIVITY = this;
		}
		addWindowListener(new InternalWindowListener());
		setLocationRelativeTo(null);
		JPanel panel = new JPanel();
		panel.setBorder(getBorder());
		setContentPane(panel);
		onStart();
		pack();
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setVisible(true);
	}

	protected Border getBorder(){
// Path: src/main/java/com/github/pemapmodder/pocketminegui/PocketMineGUI.java
// public class PocketMineGUI{
// 	public static Activity CURRENT_ROOT_ACTIVITY = null;
// 
// 	public static void main(String[] args){
// 		new ChooseServerActivity().init();
// 	}
// }


// Path: src/main/java/com/github/pemapmodder/pocketminegui/lib/Activity.java
import com.github.pemapmodder.pocketminegui.PocketMineGUI;
import lombok.Getter;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.Border;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

		this(title, null);
	}

	public Activity(String title, Activity parent){
		super(title);
		this.parent = parent;
		if(parent != null){
			parent.setChild(this);
		}
	}

	public final void init(){
		if(!hasParent()){
			if(PocketMineGUI.CURRENT_ROOT_ACTIVITY != null){
				throw new IllegalStateException("Cannot init root activity when PocketMineGUI.CURRENT_ROOT_ACTIVITY is not null");
			}
			PocketMineGUI.CURRENT_ROOT_ACTIVITY = this;
		}
		addWindowListener(new InternalWindowListener());
		setLocationRelativeTo(null);
		JPanel panel = new JPanel();
		panel.setBorder(getBorder());
		setContentPane(panel);
		onStart();
		pack();
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setVisible(true);
	}

	protected Border getBorder(){
		return BorderFactory.createEmptyBorder(50, 50, 50, 50);