Kabuto, buenos dias
Me guie por las respuestas de este foro sin embargo no logro que mi programa ejecute, al darle build me sale el siguiente error 
C:\Users\Emeth.Paredes\IdeaProjects\EvidenciaFinal\src\Clinica.java:39:9
java: illegal start of expression
C:\Users\Emeth.Paredes\IdeaProjects\EvidenciaFinal\src\Clinica.java:59
java: class, interface, enum, or record expected
Te comparto el codigo y las clases
Clase Main
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public final class Clinica {
    private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
    private static Scanner teclado = new Scanner(System.in);
    static GestorPacientes pacientes = new GestorPacientes();
    static GestorCita citas = new GestorCita();
    static GestorDoctor doctores = new GestorDoctor();
    public static void main(String[] args) {
        crearAdmins();
        if (validarAcceso()) {
            System.out.println("\nUsuario autorizado\n");
            if (validarAcceso()) {
                System.out.println("\nUsuario autorizado\n");
                doctores.nuevoDoctor();
                doctores.modificarDoctor();
                doctores.mostrarDoctores();
                pacientes.nuevoPaciente();
                pacientes.mostrarPacientes();
                pacientes.modificarPaciente();
                pacientes.borrarPaciente();
                citas.nuevoCita();
                citas.mostrarCitas();
            }
            else
                System.out.println("\nUsuario no autorizado.");
            System.out.println("\n\t\tFIN DE PROGRAMA");
        }
        private static void crearAdmins() {
            administradores.add(new Administrador("Kabuto", "1234"));
            administradores.add(new Administrador("EmethP", "5678"));
            administradores.add(new Administrador("AnaT", "0000"));
        }
        private static boolean validarAcceso( ) {
            System.out.println("ACCESO AL SISTEMA");
            System.out.println("------ -- -------\n");
            System.out.print("Nombre: ");
            String nombre = teclado.nextLine();
            System.out.print("Password: ");
            String password = teclado.nextLine();
            Administrador admin = new Administrador(nombre, password);
            return administradores.contains(admin);
        }
    }
}
Clase Doctor
package clinica;
import javax.swing.JOptionPane;
public class Doctor {
    private String id;
    private String nombre;
    private String apellidos;
    private String especialidad;
    public Doctor(String id, String nombre, String apellidos, String especialidad) {
        this.id = id;
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.especialidad = especialidad;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public String getApellidos() {
        return apellidos;
    }
    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }
    public String getEspecialidad() {
        return especialidad;
    }
    public void setEspecialidad(String especialidad) {
        this.especialidad = especialidad;
    }
    /**
     * Muestra por panel todos los datos del doctor
     */
    public void mostrar() {
        String mensaje = "ID doctor: " + id + "\nNombre: " + nombre
                + "\nApellidos: " + apellidos + "\nEspecialidad: " + especialidad;
        JOptionPane.showMessageDialog(null, mensaje, "Mostrar doctor", JOptionPane.INFORMATION_MESSAGE);
    }
    public Doctor getDoctor(String id) {
        for (Doctor doc: doctores)
            if (doc.getId().equals(id))
                return doc; //Doctor encontrado
        //Si el bucle no ha retornado ningún Doctor, es que no existe ese ID
        return null;
    }
}
Clase Paciente
import javax.swing.JOptionPane;
public class Paciente {
    private String id;
    private String nombre;
    private String apellidos;
    public String generaLineaCSV() {
        return String.format("%s;%s;%s;%s\n", id, nombre, apellidos);
    }
    public Paciente(String id, String nombre, String apellidos) {
        this.id = id;
        this.nombre = nombre;
        this.apellidos = apellidos;
    }
}
Clase Administrador
public class Administrador {
    private String nombre;
    private String password;
    public Administrador(String nom, String pass) {
        nombre = nom;
        password = pass;
    }
    @Override
    public boolean equals(Object objeto) {
        if (objeto instanceof Administrador) { //Objeto si es clase Administrador
            //Casteamos objeto a Administrador
            Administrador otroAdmin = (Administrador)objeto;
            //Comparamos si coinciden nombre y password
            if (nombre.equals(otroAdmin.nombre) && password.equals(otroAdmin.password))
                return true; //Coinciden ambos, los objetos representan al mismo Administrador
            else
                return false;//Nombre o contraseña no coinciden, son Administradores diferentes.
        }
        else //Objeto a comparar no es de clase Administrador
            return false;
    }
}
Clase Cita
public class Cita {
    private String id;
    private String fecha;
    private String hora;
    private String motivo;
    private Doctor doctor;
    private Paciente paciente;
    public Cita(String id, String fecha, String hora, String motivo,
                Doctor doctor, Paciente paciente) {
        this.id = id;
        this.fecha = fecha;
        this.hora = hora;
        this.motivo = motivo;
        this.doctor = doctor;
        this.paciente = paciente;
    }
    public Cita(String id, String fecha, String hora, String motivo) {
        this.id = id;
        this.fecha = fecha;
        this.hora = hora;
        this.motivo = motivo;
    }
    public String getMotivo() {
        return motivo;
    }
    public void setMotivo(String motivo) {
        this.motivo = motivo;
    }
    public Paciente getPaciente() {
        return paciente;
    }
    public void setPaciente(Paciente paciente) {
        this.paciente = paciente;
    }
}
Clase GestorPaciente
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public final class GestorPacientes {
    private ArrayList<Paciente> pacientes;
    public void crearCSV() {
        File archivo = new File("C:\\Users\\Emeth.Paredes\\IdeaProjects\\EvidenciaFinal\\src");
        try {
            //Si no existe archivo, intentamos crearlo
            boolean primeraVez = false;
            if (!archivo.exists()) {
                File carpeta = archivo.getParentFile();
                carpeta.mkdirs();
                archivo.createNewFile();
                primeraVez = true; //Primera vez que trabajamos en este archivo
            }
            FileWriter escritor = new FileWriter(archivo, true);
            //Cabecera para datos del CSV, solo si es la primera vez
            if (primeraVez)
                escritor.append("#ID;Nombre;Apellidos;Especialidad\n");
            //Datos del último Doctor registrado
            int ultimo = doctores.size() - 1;
            escritor.append(doctores.get(ultimo).generaLineaCSV());//Insertamos linea CSV
            escritor.close();
        } catch (IOException e) {
            System.out.println("Error de acceso a: " + archivo.getAbsolutePath());
        }
    }
}
Clase GestorDoctor
public class GestorDoctor {
    public void crearCSV() {
        File archivo = new File("C:\\Users\\Emeth.Paredes\\IdeaProjects\\EvidenciaFinal\\src");
        try {
            //Si no existe archivo, intentamos crearlo
            boolean primeraVez = false;
            if (!archivo.exists()) {
                File carpeta = archivo.getParentFile();
                carpeta.mkdirs();
                archivo.createNewFile();
                primeraVez = true; //Primera vez que trabajamos en este archivo
            }
            FileWriter escritor = new FileWriter(archivo, true);
            //Cabecera para datos del CSV, solo si es la primera vez
            if (primeraVez)
                escritor.append("#ID;Nombre;Apellidos;Especialidad\n");
            //Datos del último Doctor registrado
            int ultimo = doctores.size() - 1;
            escritor.append(doctores.get(ultimo).generaLineaCSV());//Insertamos linea CSV
            escritor.close();
        } catch (IOException e) {
            System.out.println("Error de acceso a: " + archivo.getAbsolutePath());
        }
    }
}
Clase GestorCita
public class GestorCita {
    private ArrayList<Cita> citas;
    //Referencias a las instancias de los gestores de doctores y pacientes
    private GestorDoctor doctores;
    private GestorPaciente pacientes;
    public GestorCita(GestorDoctor gestDoc, GestorPaciente gestPaci) {
        citas = new ArrayList<Cita>();
        doctores = gestDoc;
        pacientes = gestPaci;
    }
    public boolean nuevoCita() {
        String id = JOptionPane.showInputDialog(null, "Introduzca Identificador:", "Nuevo Cita", JOptionPane.QUESTION_MESSAGE);
        String fecha = JOptionPane.showInputDialog(null, "Fecha:", "Nuevo Fecha", JOptionPane.QUESTION_MESSAGE);
        String hora = JOptionPane.showInputDialog(null, "Hora:", "Nuevo Hora", JOptionPane.QUESTION_MESSAGE);
        String motivo = JOptionPane.showInputDialog(null, "Motivo:", "Nuevo Motivo", JOptionPane.QUESTION_MESSAGE);
        String iDdoctor = JOptionPane.showInputDialog(null, "ID del Doctor:", "Nuevo Doctor", JOptionPane.QUESTION_MESSAGE);
        String iDpaciente = JOptionPane.showInputDialog(null, "ID del Paciente:", "Nuevo Paciente", JOptionPane.QUESTION_MESSAGE);
        //Pedimos los datos a los gestores que tenemos referenciados
        Doctor doctor = doctores.getDoctor(iDdoctor);
        Paciente paciente = pacientes.getPaciente(iDpaciente);
        Cita nuevoCita = new Cita(id, fecha, hora, motivo, doctor, paciente);
        return citas.add(nuevoCita);
        //Devuelve TRUE si se insertó correctamente, FALSE si no se pudo insertar
    }
}
Podrias apoyarme por favor? No encuentro que es lo que puede estar mal.
Te agradezco de antemano, saludos!