code: @Override
      public Dictionary getDictionary(int index) {
          synchronized (lock) {
              final Object obj = getMValue(internalArray, index).asNative(internalArray);
              return obj instanceof Dictionary ? (Dictionary) obj : null;
          }
      }
docs: Gets a Dictionary at the given index. Return null if the value is not an dictionary.
  
  @param index the index. This value must not exceed the bounds of the array.
  @return the Dictionary object.