class Named implements NamedOperation<Named> {

    public static Named as(final String name) {
        Objects.requireNonNull(name, "name can't be null");
        return new Named(name);
    }

    protected  Named(final Named named);
    protected  Named(final String name);

}