static @NotNull FirstPassData create(Object classSource) {
    ClassReader reader = null;
    if (classSource instanceof ClsFileImpl.FileContentPair) {
      reader = ((ClsFileImpl.FileContentPair)classSource).getContent();
    }
    else if (classSource instanceof VirtualFile) {
      try {
        reader = new ClassReader(((VirtualFile)classSource).contentsToByteArray(false));
      }
      catch (IOException ignored) {
      }
    }

    if (reader != null) {
      return fromReader(reader);
    }

    return NO_DATA;
  }
static @NotNull FirstPassData create(Object classSource)