### Question:
ByteBufferSlice implements Slice { @Override public byte[] getRawArray() { throw new UnsupportedOperationException(); } ByteBufferSlice(ByteBuffer buffer);  ByteBufferSlice(ByteBuffer buffer, int offset, int length); @Override int length(); @Override byte[] getRawArray(); @Override int getRawOffset(); @Override byte getByte(int index); @Override short getShort(int index); @Override int get3BytesInt(int index); @Override int getInt(int index); @Override long get6BytesInt(int index); @Override long getLong(int index); @Override float getFloat(int index); @Override double getDouble(int index); @Override void getBytes(int index, byte[] destination, int destinationIndex, int length); @Override byte[] getBytes(); @Override byte[] getBytes(int index, int length); @Override void getBytes(int index, ByteBuffer destination); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test(expected = UnsupportedOperationException.class) public void testSliceGetRawArrayUnsupported() { ByteBuffer buffer = ByteBuffer.allocate(5); Slice slice = Slices.fromByteBuffer(buffer); slice.getRawArray(); }