code: private MapCollections<E, E> getCollection() {
          if (mCollections == null) {
              mCollections = new MapCollections<E, E>() {
                  @Override
                  protected int colGetSize() {
                      return mSize;
                  }
  
                  @Override
                  protected Object colGetEntry(int index, int offset) {
                      return mArray[index];
                  }
  
                  @Override
                  protected int colIndexOfKey(Object key) {
                      return indexOf(key);
                  }
  
                  @Override
                  protected int colIndexOfValue(Object value) {
                      return indexOf(value);
                  }
  
                  @Override
                  protected Map<E, E> colGetMap() {
                      throw new UnsupportedOperationException("not a map");
                  }
  
                  @Override
                  protected void colPut(E key, E value) {
                      add(key);
                  }
  
                  @Override
                  protected E colSetValue(int index, E value) {
                      throw new UnsupportedOperationException("not a map");
                  }
  
                  @Override
                  protected void colRemoveAt(int index) {
                      removeAt(index);
                  }
  
                  @Override
                  protected void colClear() {
                      clear();
                  }
              };
          }
          return mCollections;
      }
docs: ------------------------------------------------------------------------