<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>UnsupportedOperationException</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=110376156" />
  <subtitle>UnsupportedOperationException</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=110376156</id>
  <updated>2026-04-05T08:56:09Z</updated>
  <dc:date>2026-04-05T08:56:09Z</dc:date>
  <entry>
    <title>RE: UnsupportedOperationException</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110377827" />
    <author>
      <name>Sandeep Nair</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110377827</id>
    <updated>2018-06-29T13:08:26Z</updated>
    <published>2018-06-29T13:08:26Z</published>
    <summary type="html">&lt;p&gt;Hi Manish,&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The log clearly shows that you are working with UnmodifiableList and
  you need to make a copy of it if you want to modify(which is the solution).&lt;/p&gt;
&lt;p&gt;
  &lt;br /&gt; java.lang.UnsupportedOperationException: Please make a copy of
  this read-only list before modifying it.&lt;br /&gt;     at com.liferay.portal.kernel.util.UnmodifiableList$1.remove(UnmodifiableList.java:122)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;It's difficult to say how you have ended up using UnmodifiableList
  without seeing the previous part of the code where you have created
  the List in first placed. My gut feeling says you might have used
  ListUtil.sublist() method which is internally creating sublist using UnmodifiableList.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Sandeep Nair&lt;/p&gt;</summary>
    <dc:creator>Sandeep Nair</dc:creator>
    <dc:date>2018-06-29T13:08:26Z</dc:date>
  </entry>
  <entry>
    <title>RE: UnsupportedOperationException</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110377213" />
    <author>
      <name>Ravi Shah</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110377213</id>
    <updated>2018-06-29T12:54:27Z</updated>
    <published>2018-06-29T12:54:27Z</published>
    <summary type="html">&lt;p&gt;Hi, &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;If you are trying to delete something from liferay generated
  entities, please do it with help of *LocalServiceUtil methods &lt;/p&gt;
&lt;p&gt;OR&lt;/p&gt;
&lt;p&gt;Simply loop through the list and assign it to a new list.&lt;/p&gt;</summary>
    <dc:creator>Ravi Shah</dc:creator>
    <dc:date>2018-06-29T12:54:27Z</dc:date>
  </entry>
  <entry>
    <title>UnsupportedOperationException</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110376155" />
    <author>
      <name>manish kumar</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=110376155</id>
    <updated>2018-06-29T11:53:57Z</updated>
    <published>2018-06-29T11:53:57Z</published>
    <summary type="html">&lt;p&gt;Hi all&lt;/p&gt;
&lt;p&gt;I am facing this below problem while I am trying to modify the list ............&lt;/p&gt;
&lt;p&gt;the list is of model class  type . Actually I am trying to delete
  some element from the list .&lt;/p&gt;
&lt;p&gt;Please help us out.&lt;/p&gt;
&lt;p&gt;Error trace is below.&lt;/p&gt;
&lt;p&gt;
  &lt;br /&gt; java.lang.UnsupportedOperationException: Please make a copy of
  this read-only list before modifying it.&lt;br /&gt;     at
  com.liferay.portal.kernel.util.UnmodifiableList$1.remove(UnmodifiableList.java:122)&lt;br /&gt;
      at
  com.addMe.action.DeviceDrag.serveResource(DeviceDrag.java:2981)&lt;br /&gt;
      at
  com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:122)&lt;br /&gt;
      at
  com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:82)&lt;br /&gt;
      at
  com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:116)&lt;br /&gt;
      at
  com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:71)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112)&lt;br /&gt;
      at
  javax.servlet.http.HttpServlet.service(HttpServlet.java:728)&lt;br /&gt;   
   at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)&lt;br /&gt;
      at
  com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:580)&lt;br /&gt;
      at
  com.liferay.portlet.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:675)&lt;br /&gt;
      at
  com.liferay.portlet.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:441)&lt;br /&gt;
      at
  com.liferay.portlet.PortletContainerImpl._doServeResource(PortletContainerImpl.java:792)&lt;br /&gt;
      at
  com.liferay.portlet.PortletContainerImpl.serveResource(PortletContainerImpl.java:152)&lt;br /&gt;
      at
  com.liferay.portlet.SecurityPortletContainerWrapper.serveResource(SecurityPortletContainerWrapper.java:166)&lt;br /&gt;
      at
  com.liferay.portlet.RestrictPortletContainerWrapper.serveResource(RestrictPortletContainerWrapper.java:166)&lt;br /&gt;
      at
  com.liferay.portal.kernel.portlet.PortletContainerUtil.serveResource(PortletContainerUtil.java:164)&lt;br /&gt;
      at
  com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:386)&lt;br /&gt;
      at
  com.liferay.portal.action.LayoutAction.doExecute(LayoutAction.java:200)&lt;br /&gt;
      at
  com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:95)&lt;br /&gt;
      at
  org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)&lt;br /&gt;
      at
  org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)&lt;br /&gt;
      at
  com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:179)&lt;br /&gt;
      at
  org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)&lt;br /&gt;
      at
  org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)&lt;br /&gt;
      at
  javax.servlet.http.HttpServlet.service(HttpServlet.java:647)&lt;br /&gt;   
   at
  com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:549)&lt;br /&gt;
      at
  com.liferay.portal.servlet.MainServlet.service(MainServlet.java:526)&lt;br /&gt;
      at
  javax.servlet.http.HttpServlet.service(HttpServlet.java:728)&lt;br /&gt;   
   at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:293)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)&lt;br /&gt;
      at
  com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:156)&lt;br /&gt;
      at
  javax.servlet.http.HttpServlet.service(HttpServlet.java:728)&lt;br /&gt;   
   at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:293)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:243)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:267)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:226)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)&lt;br /&gt;
      at
  org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)&lt;br /&gt;
      at
  com.liferay.portal.servlet.filters.urlrewrite.UrlRewriteFilter.processFilter(UrlRewriteFilter.java:57)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)&lt;br /&gt;
      at
  com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)&lt;br /&gt;
      at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)&lt;br /&gt;
      at
  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)&lt;br /&gt;
      at
  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)&lt;br /&gt;
      at
  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)&lt;br /&gt;
      at
  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)&lt;br /&gt;
      at
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)&lt;br /&gt;
      at
  org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)&lt;br /&gt;
      at
  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)&lt;br /&gt;
      at
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)&lt;br /&gt;
      at
  org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)&lt;br /&gt;
      at
  org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)&lt;br /&gt;
      at
  org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)&lt;br /&gt;
      at
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)&lt;br /&gt;
      at
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)&lt;br /&gt;
      at java.lang.Thread.run(Thread.java:745)&lt;br /&gt;  &lt;/p&gt;</summary>
    <dc:creator>manish kumar</dc:creator>
    <dc:date>2018-06-29T11:53:57Z</dc:date>
  </entry>
</feed>
