diff --git a/tck/src/main/resources/com/sun/ts/tests/signaturetest/el/jakarta.el.sig_6.1 b/tck/src/main/resources/com/sun/ts/tests/signaturetest/el/jakarta.el.sig_6.1
index 8568035..c042a2a 100644
--- a/tck/src/main/resources/com/sun/ts/tests/signaturetest/el/jakarta.el.sig_6.1
+++ b/tck/src/main/resources/com/sun/ts/tests/signaturetest/el/jakarta.el.sig_6.1
@@ -138,8 +138,8 @@
 hfds elManager,factory
 
 CLSS public abstract jakarta.el.ELResolver
-innr public static StandaloneIdentifierMarker
 cons public init()
+innr public static StandaloneIdentifierMarker
 meth public <%0 extends java.lang.Object> {%%0} convertToType(jakarta.el.ELContext,java.lang.Object,java.lang.Class<{%%0}>)
 meth public abstract boolean isReadOnly(jakarta.el.ELContext,java.lang.Object,java.lang.Object)
 meth public abstract java.lang.Class<?> getCommonPropertyType(jakarta.el.ELContext,java.lang.Object)
@@ -149,7 +149,8 @@
 meth public java.lang.Object invoke(jakarta.el.ELContext,java.lang.Object,java.lang.Object,java.lang.Class<?>[],java.lang.Object[])
 supr java.lang.Object
 
-CLSS public jakarta.el.ELResolver$StandaloneIdentifierMarker
+CLSS public static jakarta.el.ELResolver$StandaloneIdentifierMarker
+ outer jakarta.el.ELResolver
 supr java.lang.Object
 
 CLSS public abstract jakarta.el.EvaluationListener
@@ -272,6 +273,7 @@
 meth public java.lang.Class<?> getCommonPropertyType(jakarta.el.ELContext,java.lang.Object)
 meth public java.lang.Class<?> getType(jakarta.el.ELContext,java.lang.Object,java.lang.Object)
 meth public java.lang.Object getValue(jakarta.el.ELContext,java.lang.Object,java.lang.Object)
+meth public java.lang.Object invoke(jakarta.el.ELContext,java.lang.Object,java.lang.Object,java.lang.Class<?>[],java.lang.Object[])
 meth public void setValue(jakarta.el.ELContext,java.lang.Object,java.lang.Object,java.lang.Object)
 supr jakarta.el.ELResolver
 
@@ -382,7 +384,7 @@
 cons public init()
 meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
 meth protected void finalize() throws java.lang.Throwable
- anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9")
+ anno 0 java.lang.Deprecated(boolean forRemoval=true, java.lang.String since="9")
 meth public boolean equals(java.lang.Object)
 meth public final java.lang.Class<?> getClass()
 meth public final void notify()
@@ -423,7 +425,7 @@
 meth public void printStackTrace(java.io.PrintWriter)
 meth public void setStackTrace(java.lang.StackTraceElement[])
 supr java.lang.Object
-hfds CAUSE_CAPTION,EMPTY_THROWABLE_ARRAY,NULL_CAUSE_MESSAGE,SELF_SUPPRESSION_MESSAGE,SUPPRESSED_CAPTION,SUPPRESSED_SENTINEL,UNASSIGNED_STACK,backtrace,cause,depth,detailMessage,serialVersionUID,stackTrace,suppressedExceptions
+hfds CAUSE_CAPTION,EMPTY_THROWABLE_ARRAY,NULL_CAUSE_MESSAGE,SELF_SUPPRESSION_MESSAGE,SUPPRESSED_CAPTION,SUPPRESSED_SENTINEL,UNASSIGNED_STACK,backtrace,cause,depth,detailMessage,jfrTracing,serialVersionUID,stackTrace,suppressedExceptions
 hcls PrintStreamOrWriter,SentinelHolder,WrappedPrintStream,WrappedPrintWriter
 
 CLSS public abstract interface java.util.EventListener
