ER Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Record created 2026 Identifiers bibliograph openlibrary