public static StringBuilder leftShift(StringBuilder self, Object value) {
        if (value instanceof GString) {
            // Force the conversion of the GString to string now, or appending
            // is going to be extremely expensive, due to calls to GString#charAt,
            // which is going to re-evaluate the GString for each character!
            return self.append(value.toString());
        }
        if (value instanceof CharSequence) {
            return self.append((CharSequence)value);
        }
        return self.append(value);
    }
public static StringBuilder leftShift ( StringBuilder self , Object value ) { if ( value instanceof GString ) { return self . append ( value . toString ( ) ) ; } if ( value instanceof CharSequence ) { return self . append ( ( CharSequence ) value ) ; } return self . append ( value ) ; }
Overloads the left shift operator to provide an easy way to append multiple
objects as string representations to a StringBuilder.

@param self  a StringBuilder
@param value a value to append
@return the StringBuilder on which this operation was invoked