public void insert(Object element, boolean only_discrete) {
    String element_class = element.getClass().getName();
    // System.out.println("Get the keys:"+ factsets.keys());
    // System.out.println("WorkingMemory.get class "+ element_class + " exist? "+
    // factsets.containsKey(element_class));

    OOFactSet fs;
    if (!factsets.containsKey(element_class))
      fs = create_factset(element.getClass(), only_discrete);
    else fs = (OOFactSet) factsets.get(element_class); // TODO should i cast

    fs.insert(element);
    System.out.println("WorkingMemory.insert(object) inserted element fs.size() " + fs.getSize());
  }