code: protected final Class<?> defineClass(String name, java.nio.ByteBuffer b,
                                           CodeSource cs)
      {
          return defineClass(name, b, getProtectionDomain(cs));
      }
docs: Converts a {@link java.nio.ByteBuffer ByteBuffer}
  into an instance of class {@code Class}, with an optional CodeSource.
  Before the class can be used it must be resolved.
  <p>
  If a non-null CodeSource is supplied a ProtectionDomain is
  constructed and associated with the class being defined.
  <p>
  @param      name the expected name of the class, or {@code null}
  if not known, using '.' and not '/' as the separator
  and without a trailing ".class" suffix.
  @param      b    the bytes that make up the class data.  The bytes from positions
  {@code b.position()} through {@code b.position() + b.limit() -1}
  should have the format of a valid class file as defined by
  <cite>The Java&trade; Virtual Machine Specification</cite>.
  @param      cs   the associated CodeSource, or {@code null} if none
  @return the {@code Class} object created from the data,
  and optional CodeSource.
  @exception  ClassFormatError if the data did not contain a valid class
  @exception  SecurityException if an attempt is made to add this class
  to a package that contains classes that were signed by
  a different set of certificates than this class, or if
  the class name begins with "java.".
  
  @since  1.5