public static void main(String... args) {
puts(multiply('_', 30), "From JAVA Objects", multiply('_', 30), "\n");
List<Employee> employees = (List<Employee>) BeanUtils.idxList(departmentsList, "employees");
sorting(employees, departmentsList);
puts(multiply('_', 30), "From LIST MAPS", multiply('_', 30), "\n");
List<?> employeeObjects = (List<?>) BeanUtils.idxList(departmentObjects, "employees");
sorting(employeeObjects, departmentObjects);
puts(multiply('_', 30), "From JSON", multiply('_', 30), "\n");
String json = toJson(departmentObjects);
puts(json);
Object jsonObject = fromJson(json);
List<?> jsonDepartments = (List<?>) jsonObject;
List<?> jsonEmployees = (List<Employee>) BeanUtils.idxList(jsonDepartments, "employees");
sorting(jsonEmployees, jsonDepartments);
sort(employees);
Employee employee = employees.get(5);
Employee employee2 = search(employees, employee);
int index = searchForIndex(employees, employee);
putl("This employee was found at ", index, employee2, employee, '\n', employees);
Set<Employee> employeesSet = new LinkedHashSet<>(employees);
employeesSet = (Set<Employee>) sort(Employee.class, employeesSet, "id");
putl("Sort Employee SET by id", employeesSet);
Employee[] employeesArray = toArray(Employee.class, employees);
sort(employeesArray, "firstName");
putl("Sort Employee ARRAY by firstName", employeesArray);
}