class Int2SetRecord implements Record {

    private final IntObjectHashMap<IntHashSet> layer;

    public Int2SetRecord() {
        this.layer = new IntObjectHashMap<>();
    }

    @Override
    public IntIterator keys() {
        return IntIterator.wrap(this.layer.keySet().intIterator());
    }

    @Override
    public boolean containsKey(int node) {
        return this.layer.containsKey(node);
    }

    @Override
    public IntIterator get(int node) {
        return IntIterator.wrap(this.layer.get(node).intIterator());
    }

    @Override
    public void addPath(int node, int parent) {<FILL_FUNCTION_BODY>}

    @Override
    public int size() {
        return this.layer.size();
    }

    @Override
    public boolean concurrent() {
        return false;
    }

    @Override
    public String toString() {
        return this.layer.toString();
    }
}

        IntHashSet values = this.layer.get(node);
        if (values != null) {
            values.add(parent);
        } else {
            // TODO: use one sorted-array instead to store all values
            this.layer.put(node, IntHashSet.newSetWith(parent));
        }
    
<no_super_class>