protected Sheet createSheet() {
Sheet sheet = Sheet.createDefault();
PreviewController controller = Lookup.getDefault().lookup(PreviewController.class);
PreviewModel model = controller.getModel();
if (model != null) {
NodeSupervisor ns = model.getNodeSupervisor();
GlobalEdgeSupervisor ges = model.getGlobalEdgeSupervisor();
SelfLoopSupervisor sls = model.getSelfLoopSupervisor();
EdgeSupervisor unes = model.getUndirectedEdgeSupervisor();
EdgeSupervisor ues = model.getUniEdgeSupervisor();
EdgeSupervisor bes = model.getBiEdgeSupervisor();
Sheet.Set nodeSet = Sheet.createPropertiesSet();
nodeSet.setDisplayName(NbBundle.getMessage(PreviewNode.class, "PreviewNode.Node.displayName"));
nodeSet.setName("nodes");
Sheet.Set edgeSet = Sheet.createPropertiesSet();
edgeSet.setDisplayName(NbBundle.getMessage(PreviewNode.class, "PreviewNode.Edge.displayName"));
edgeSet.setName("edges");
Sheet.Set selfLoopSet = Sheet.createPropertiesSet();
selfLoopSet.setDisplayName(NbBundle.getMessage(PreviewNode.class, "PreviewNode.SelfLoop.displayName"));
selfLoopSet.setName("selfLoops");
Sheet.Set undirectedEdgeSet = Sheet.createPropertiesSet();
undirectedEdgeSet.setDisplayName(NbBundle.getMessage(PreviewNode.class, "PreviewNode.Undirected.displayName"));
undirectedEdgeSet.setName("undirectedEdges");
Sheet.Set uniEdgeSet = Sheet.createPropertiesSet();
uniEdgeSet.setDisplayName(NbBundle.getMessage(PreviewNode.class, "PreviewNode.Directed.displayName"));
uniEdgeSet.setName("uniEdges");
Sheet.Set biEdgeSet = Sheet.createPropertiesSet();
biEdgeSet.setDisplayName(NbBundle.getMessage(PreviewNode.class, "PreviewNode.Mutual.displayName"));
biEdgeSet.setName("biEdges");
for (SupervisorPropery p : ns.getProperties()) {
nodeSet.put(p.getProperty());
}
for (SupervisorPropery p : ges.getProperties()) {
edgeSet.put(p.getProperty());