src/main/java/org/organicdesign/fp/StaticImports.java
public static UnmodIterable<Character> xformChars(CharSequence seq) {
        //noinspection Convert2Lambda
        return new UnmodIterable<Character>() {
            @Override public UnmodIterator<Character> iterator() {
                return new UnmodIterator<Character>() {
                    private int idx = 0;
                    @Override public boolean hasNext() { return idx < seq.length(); }

                    @Override public Character next() {
                        int nextIdx = idx + 1;
                        Character c = seq.charAt(idx);
                        idx = nextIdx;
                        return c;
                    }
                };
            }
        };
    }
public static UnmodIterable<Character> xformChars(CharSequence seq) {
        //noinspection Convert2Lambda
        return new UnmodIterable<Character>() {
            @Override public UnmodIterator<Character> iterator() {
                return new UnmodIterator<Character>() {
                    private int idx = 0;
                    @Override public boolean hasNext() { return idx < seq.length(); }

                    @Override public Character next() {
                        int nextIdx = idx + 1;
                        Character c = seq.charAt(idx);
                        idx = nextIdx;
                        return c;
                    }
                };
            }
        };
    }
Wrap a String (or CharSequence) to perform a Character-by-Character transformation on it.