Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

Está dando toda essa exceção, e ai ele aponta para a linha 78 da classe cadastrocontrol.
Procurei e pode ser uma variavel que não dei retorno, mas não consigo identificar qual, e o porquê dele estar fazendo referencia a linha 78
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at jv.CadastroControl.getRowCount(CadastroControl.java:78)
at javax.swing.JTable.getRowCount(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.createTableSize(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validate(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

package jv;
import java.util.List;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;

import bd.ConexaoDAO;

public class CadastroControl implements TableModel{
private List tikara = new ArrayList<>();
public Class<?> getColumnClass(int col) {
switch (col) {
case 0 : return String.class;
case 1 : return String.class;
}
return String.class;
}

@Override
public void addTableModelListener(TableModelListener l) {
	// TODO Auto-generated method stub
	
}

@Override
public int getColumnCount() {
	// TODO Auto-generated method stub
	return 2;
}

@Override
public String getColumnName(int col) {
	switch (col) { 
	case 0 : return "Nome";
	case 1 : return "CPF";
	}
	return "";
}


@Override
public Object getValueAt(int row, int col) {
	Tikara a = tikara.get(row);
	switch (col) { 
		case 0 : return a.getNome();
		case 1 : return a.getCPF();
	}
	return "";
}

@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
	// TODO Auto-generated method stub
	return false;
}

@Override
public void removeTableModelListener(TableModelListener l) {
	// TODO Auto-generated method stub
	
}

@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
	// TODO Auto-generated method stub
	
}


@Override
public int getRowCount() {
	// TODO Auto-generated method stub
	return tikara.size();
}


public void adicionar(Tikara a) {
	ConexaoDAO conDAO = new ConexaoDAO();
	
	tikara.add( a );
	conDAO.adicionar(a);
	System.out.println("Cliente cadastrado, a lista tem " + 
			tikara.size() + " Cadastrados ");
	
	
	
}


public List<Tikara> Pesquisa(String Nome) throws SQLException {
	ConexaoDAO conDAO = new ConexaoDAO();
	List<Tikara> resultados = conDAO.Pesquisa(Nome);
	tikara = resultados;
	return resultados;
	
	
}
}

package jv;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableModel;

public class Cadastroboundary implements ActionListener {
private JFrame janela;
private JTextField txtNome = new JTextField(30);
private JTextField txtcpf = new JTextField(11);
private JButton btnEmitirnota = new JButton(“Emitir nota fiscal”);
private JButton btnFinalizar = new JButton(“Finalizar”);
private JButton btnAdicionar = new JButton(“Adicionar”);
private JButton btnPesquisar = new JButton(“Pesquisar”);
private CadastroControl control = new CadastroControl();
private JTable table = new JTable(control);

private List<Tikara> tikara = new ArrayList<>();

public Cadastroboundary() {
	janela = new JFrame("Cadastro Cliente");
	JPanel panCampos = new JPanel(new GridLayout(7, 2));
	JPanel panPrincipal = new JPanel(new BorderLayout());
	JScrollPane panTable = new JScrollPane();

	panCampos.add(new JLabel("Nome:"));
	panCampos.add(txtNome);
	panCampos.add(new JLabel("CPF:"));
	panCampos.add(txtcpf);
	panCampos.add(btnEmitirnota);
	panCampos.add(btnFinalizar);
	panCampos.add(btnAdicionar);
	panCampos.add(btnPesquisar);

	btnEmitirnota.addActionListener(this);
	btnFinalizar.addActionListener(this);
	btnAdicionar.addActionListener(this);
	btnPesquisar.addActionListener(this);
	panTable.getViewport().add(table);
	panPrincipal.add(panCampos, BorderLayout.NORTH);
	panPrincipal.add(panTable, BorderLayout.CENTER);
	janela.setContentPane(panPrincipal);

	janela.setSize(600, 300);
	janela.setVisible(true);
	janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

@Override
public void actionPerformed(ActionEvent e) {
	String cmd = e.getActionCommand();
	if ("Finalizar".equals(cmd)) {
		new Menu();

	} else if ("Adicionar".equals(cmd)) {
		Tikara tk = new Tikara();
		tk.setNome(txtNome.getText());
		tk.setCPF(txtcpf.getText());

		tikara.add(tk);

		System.out.printf("Lista tem %d elementos\n", tikara.size());
	}
	else if ("Pesquisar".equals(cmd)) {
		try {
			System.out.println("Pesquisou");
			control.Pesquisa(txtNome.getText());
			table.invalidate();
			table.revalidate();
			table.repaint();
		} catch (SQLException e1) {
			e1.printStackTrace();
			JOptionPane.showMessageDialog(null, e1.getMessage());
		}
	}
}


public int getId() {
	// TODO Auto-generated method stub
	return 0;
}

public String getNome() {
	// TODO Auto-generated method stub
	return null;
}

public String Cpf() {
	// TODO Auto-generated method stub
	return null;
}

public void setCpf(String string) {
	// TODO Auto-generated method stub
	
}

public void setNome(String string) {
	// TODO Auto-generated method stub
	
}

public void setId(int int1) {
	// TODO Auto-generated method stub
	
}

}

obj tikara deve estar null. Verifique o pq

Então, não sei porquê esse objeto está null, se é só um objeto referencia de uma lista, eu não atribui nenhum valor a ele, será que tem a ver com conexão com bancos de dados,?

Errado.