@Override
    public String getString(int index) {
        synchronized (lock) {
            final Object obj = getMValue(internalArray, index).asNative(internalArray);
            return obj instanceof String ? (String) obj : null;
        }
    }
@ Override public String getString ( int index ) { synchronized ( lock ) { final Object obj = getMValue ( internalArray , index ) . asNative ( internalArray ) ; return obj instanceof String ? ( String ) obj : null ; } }
Gets value at the given index as a String. Returns null if the value doesn't exist, or its value is not a String.

@param index the index. This value must not exceed the bounds of the array.
@return the String or null.