docs: @Override
      public boolean isPresent(int accessor) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              JmfTr.entry(this, tc, "isPresent", new Object[] { Integer.valueOf(accessor) });
  
          boolean result;
          checkIndex(accessor);
  
          synchronized (getMessageLockArtefact()) {
              if (cache[accessor] != null) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      JmfTr.exit(this, tc, "isPresent", Boolean.TRUE);
                  return true;
              }
  
              // If it's not in the cache and the message isn't assembled it can't be present
              if (contents == null) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      JmfTr.exit(this, tc, "isPresent", Boolean.FALSE);
                  return false;
              }
  
              // For an assembled message, the subclass's getFieldDef method should answer the question.
              result = getFieldDef(accessor, true) != null;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              JmfTr.exit(this, tc, "isPresent", Boolean.valueOf(result));
          return result;
      }